用php实现让页面只能被百度gogole蜘蛛访问的方法


Posted in PHP onDecember 29, 2009

普通用户与搜索引擎蜘蛛爬行的区别在于发送的user agent,
看网站日志文件能发现百度蜘蛛名字包含Baiduspider, 而google的则是Googlebot, 这样我们可以通过判断发送的user agent来决定要不要取消普通用户的访问,编写函数如下:

function isAllowAccess($directForbidden = FALSE) { 
$allowed = array('/baiduspider/i', '/googlebot/i'); 
$user_agent = $_SERVER['HTTP_USER_AGENT']; 
$valid = FALSE; 
foreach ($allowed as $pattern) { 
if (preg_match($pattern, $user_agent)) { 
$valid = TRUE; 
break; 
} 
} 
if (!$valid && $directForbidden) { 
exit("404 not found"); 
} 
  
return $valid; 
}

在要禁止访问的页面头部引用这个函数来做判断就ok了,如下俩中调用方式:
if (!isAllowAccess()) { 
exit("404 not found"); 
} 
//或者 
isAllowAccess(TRUE);
PHP 相关文章推荐
PHP的FTP学习(三)
Oct 09 PHP
推荐个功能齐全的发送PHP邮件类
Jan 03 PHP
php学习笔记之 函数声明(二)
Jun 09 PHP
php多功能图片处理类分享(php图片缩放类)
Mar 14 PHP
php 邮件发送问题解决
Mar 22 PHP
php操作MongoDB基础教程(连接、新增、修改、删除、查询)
Mar 25 PHP
php中session过期时间设置及session回收机制介绍
May 05 PHP
php数组键名技巧小结
Feb 17 PHP
PHP 中提示undefined index如何解决(多种方法)
Mar 16 PHP
Thinkphp框架 表单自动验证登录注册 ajax自动验证登录注册
Dec 27 PHP
Laravel构建即时应用的一种实现方法详解
Aug 31 PHP
PHP时间函数使用详解
Mar 21 PHP
PHP类的使用 实例代码讲解
Dec 28 #PHP
php 多线程上下文中安全写文件实现代码
Dec 28 #PHP
PHP 获取目录下的图片并随机显示的代码
Dec 28 #PHP
phpMyAdmin链接MySql错误 个人解决方案
Dec 28 #PHP
php 需要掌握的东西 不做浮躁的人
Dec 28 #PHP
php 文章采集正则代码
Dec 28 #PHP
PHP array_push 数组函数
Dec 26 #PHP
You might like
php实现的仿阿里巴巴实现同类产品翻页
2009/12/11 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(五)
2014/06/23 PHP
php写入txt乱码的解决方法
2019/09/17 PHP
php+iframe 实现上传文件功能示例
2020/03/04 PHP
纯JavaScript实现的完美渐变弹出层效果代码
2010/04/02 Javascript
js获取当前select 元素值的代码
2010/04/19 Javascript
禁止页面刷新让F5快捷键及右键都无效
2014/01/22 Javascript
JS中的构造函数详细解析
2014/03/10 Javascript
单击某一段文字改写文本颜色
2014/06/06 Javascript
wangEditor编辑器失去焦点后仍然可以在原位置插入图片分析
2015/05/06 Javascript
angularjs学习笔记之双向数据绑定
2015/09/26 Javascript
JS两个数组比较,删除重复值的巧妙方法(推荐)
2016/06/03 Javascript
全面了解JavaScript的数据类型转换
2016/07/01 Javascript
通过sails和阿里大于实现短信验证
2017/01/04 Javascript
Nodejs 获取时间加手机标识的32位标识实现代码
2017/03/07 NodeJs
jQuery插件HighCharts实现的2D堆条状图效果示例【附demo源码下载】
2017/03/14 Javascript
详解vue表单验证组件 v-verify-plugin
2017/04/19 Javascript
SpringMVC+bootstrap table实例详解
2017/06/02 Javascript
详解Vue+axios+Node+express实现文件上传(用户头像上传)
2018/08/10 Javascript
element-ui中select组件绑定值改变,触发change事件方法
2018/08/24 Javascript
layui实现文件或图片上传记录
2018/08/28 Javascript
通过GASP让vue实现动态效果实例代码详解
2019/11/24 Javascript
[01:08:43]DOTA2-DPC中国联赛定级赛 Phoenix vs DLG BO3第一场 1月9日
2021/03/11 DOTA
python中管道用法入门实例
2015/06/04 Python
基于python脚本实现软件的注册功能(机器码+注册码机制)
2016/10/09 Python
python+selenium开发环境搭建图文教程
2017/08/11 Python
Python+selenium 获取浏览器窗口坐标、句柄的方法
2018/10/14 Python
python浪漫表白源码
2019/04/05 Python
Django中ajax发送post请求 报403错误CSRF验证失败解决方案
2019/08/13 Python
Python如何使用bokeh包和geojson数据绘制地图
2020/03/21 Python
利用python进行文件操作
2020/12/04 Python
adidas官方旗舰店:德国运动用品制造商
2017/11/25 全球购物
计算机专业毕业生自我鉴定
2014/01/16 职场文书
工作会议主持词
2014/03/17 职场文书
《祁黄羊》教学反思
2014/04/22 职场文书
考察现实表现材料
2014/05/19 职场文书