用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类
Nov 27 PHP
ajax+php打造进度条 readyState各状态
Mar 20 PHP
php设计模式 DAO(数据访问对象模式)
Jun 26 PHP
php运行提示:Fatal error Allowed memory size内存不足的解决方法
Dec 17 PHP
php实现TCP端口检测的方法
Apr 01 PHP
PHP基于单例模式实现的mysql类
Jan 09 PHP
是 WordPress 让 PHP 更流行了 而不是框架
Feb 03 PHP
Yii2创建表单(ActiveForm)方法详解
Jul 23 PHP
php cookie 详解使用实例
Nov 03 PHP
PHP实现通过CURL上传文件功能示例
May 30 PHP
PHP面向对象程序设计内置标准类,普通数据类型转为对象类型示例
Jun 12 PHP
PHP7 其他修改
Mar 09 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 金额数字转换成英文
2010/05/06 PHP
PHP的PSR规范中文版
2013/09/28 PHP
PHP中大于2038年时间戳的问题处理方案
2015/03/03 PHP
基于thinkphp6.0的success、error实现方法
2019/11/05 PHP
求得div 下 img的src地址的js代码
2007/02/28 Javascript
javascript Xml增删改查(IE下)操作实现代码
2009/01/30 Javascript
JQUERY1.6 使用方法四 检测浏览器
2011/11/23 Javascript
JSON格式化输出
2014/11/10 Javascript
javascript正则表达式基础知识入门
2015/04/20 Javascript
AngularJS中的过滤器使用详解
2015/06/16 Javascript
JS获取url参数、主域名的方法实例分析
2016/08/03 Javascript
纯css下拉菜单 无需js
2016/08/15 Javascript
xcode中获取js文件的路径方法(推荐)
2016/11/05 Javascript
数组Array的排序sort方法
2017/02/17 Javascript
JavaScript正则替换HTML标签功能示例
2017/03/02 Javascript
jQuery插件之validation插件
2017/03/29 jQuery
详解Javascript获取缓存和清除缓存API
2017/05/25 Javascript
关于JS与jQuery中的文档加载问题
2017/08/22 jQuery
parabola.js抛物线与加入购物车效果的示例代码
2017/10/25 Javascript
node.js将MongoDB数据同步到MySQL的步骤
2017/12/10 Javascript
搭建element-ui的Vue前端工程操作实例
2018/02/23 Javascript
解决layui前端框架 form表单,table表等内置控件不显示的问题
2018/08/19 Javascript
react-navigation之动态修改title的内容
2018/09/26 Javascript
在vue中把含有html标签转为html渲染页面的实例
2019/10/28 Javascript
VsCode里的Vue模板的实现
2020/08/12 Javascript
Python基础篇之初识Python必看攻略
2016/06/23 Python
在python中利用最小二乘拟合二次抛物线函数的方法
2018/12/29 Python
Python如何使用vars返回对象的属性列表
2020/10/17 Python
CSS3实现粒子旋转伸缩加载动画
2016/04/22 HTML / CSS
英国假发网站:Hothair
2018/02/23 全球购物
MediaMarkt比利时:欧洲最大电器连锁店
2020/12/21 全球购物
课内比教学心得体会
2014/09/09 职场文书
2014党员整改措施思想汇报
2014/10/07 职场文书
2014年乡镇党建工作总结
2014/11/11 职场文书
2015年安全工作总结范文
2015/04/02 职场文书
【D4DJ】美少女DJ企划 动画将于明年冬季开播第2季
2022/04/11 日漫