用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+java实现自动新闻滚动窗口
Oct 09 PHP
php自动获取字符串编码函数mb_detect_encoding
May 31 PHP
apache php模块整合操作指南
Nov 16 PHP
php 注册时输入信息验证器的实现详解
Jul 05 PHP
php页面,mysql数据库转utf-8乱码,utf-8编码问题总结
Aug 27 PHP
基础的WordPress插件制作教程
Nov 24 PHP
PHP在linux上执行外部命令的方法
Feb 06 PHP
thinkphp 字母函数详解T/I/N/D/M/A/R/U
Apr 03 PHP
ThinkPHP中create()方法自动验证实例
Apr 26 PHP
使用一个for循环将N*N的二维数组的所有值置1实现方法
May 29 PHP
PHP parse_ini_file函数的应用与扩展操作示例
Jan 07 PHP
php判断IP地址是否在多个IP段内
Aug 18 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 读取Postgresql中的数组
2013/04/14 PHP
PHP统计数值数组中出现频率最多的10个数字的方法
2015/04/20 PHP
ThinkPHP5与单元测试PHPUnit使用详解
2020/02/23 PHP
比较详细的关于javascript 解析json的代码
2009/12/16 Javascript
前端开发部分总结[兼容性、DOM操作、跨域等](持续更新)
2010/03/04 Javascript
JQuery从头学起第三讲
2010/07/06 Javascript
JavaScript调用客户端的可执行文件(示例代码)
2013/11/28 Javascript
解决Jquery鼠标经过不停滑动的问题
2014/03/03 Javascript
JavaScript设计模式之外观模式介绍
2014/12/28 Javascript
使用Node.js实现HTTP 206内容分片的教程
2015/06/23 Javascript
JavaScript操作URL的相关内容集锦
2015/10/29 Javascript
jQuery Mobile 触摸事件实例
2016/06/04 Javascript
使用pm2部署node生产环境的方法步骤
2019/03/09 Javascript
Vue实现拖放排序功能的实例代码
2019/07/08 Javascript
vue登录页面cookie的使用及页面跳转代码
2019/07/10 Javascript
javascript sort()对数组中的元素进行排序详解
2019/10/13 Javascript
详解Python中内置的NotImplemented类型的用法
2015/03/31 Python
使用Python制作获取网站目录的图形化程序
2015/05/04 Python
python3.5 + PyQt5 +Eric6 实现的一个计算器代码
2017/03/11 Python
对numpy中的transpose和swapaxes函数详解
2018/08/02 Python
如何基于python生成list的所有的子集
2019/11/11 Python
解决python -m pip install --upgrade pip 升级不成功问题
2020/03/05 Python
python中threading开启关闭线程操作
2020/05/02 Python
使用python脚本自动生成K8S-YAML的方法示例
2020/07/12 Python
python实现快速文件格式批量转换的方法
2020/10/16 Python
Python3中对json格式数据的分析处理
2021/01/28 Python
sort命令的作用和用法
2013/08/25 面试题
文秘应聘自荐书范文
2014/02/18 职场文书
高中学生干部学习的自我评价
2014/02/21 职场文书
清明节网上祭英烈寄语2015
2015/03/04 职场文书
建国大业观后感
2015/06/01 职场文书
刘胡兰观后感
2015/06/16 职场文书
2015年高中生国庆节演讲稿
2015/07/30 职场文书
2016年度创先争优活动总结
2016/04/05 职场文书
Maven学习----Maven安装与环境变量配置教程
2021/06/29 Java/Android
Spring Boot 底层原理基础深度解析
2022/04/03 Java/Android