php 判断访客是否为搜索引擎蜘蛛的函数代码


Posted in PHP onJuly 29, 2011
/** 
* 判断是否为搜索引擎蜘蛛 
* 
* @author Eddy 
* @return bool 
*/ 
function isCrawler() { 
$agent= strtolower($_SERVER['HTTP_USER_AGENT']); 
if (!empty($agent)) { 
$spiderSite= array( 
"TencentTraveler", 
"Baiduspider+", 
"BaiduGame", 
"Googlebot", 
"msnbot", 
"Sosospider+", 
"Sogou web spider", 
"ia_archiver", 
"Yahoo! Slurp", 
"YoudaoBot", 
"Yahoo Slurp", 
"MSNBot", 
"Java (Often spam bot)", 
"BaiDuSpider", 
"Voila", 
"Yandex bot", 
"BSpider", 
"twiceler", 
"Sogou Spider", 
"Speedy Spider", 
"Google AdSense", 
"Heritrix", 
"Python-urllib", 
"Alexa (IA Archiver)", 
"Ask", 
"Exabot", 
"Custo", 
"OutfoxBot/YodaoBot", 
"yacy", 
"SurveyBot", 
"legs", 
"lwp-trivial", 
"Nutch", 
"StackRambler", 
"The web archive (IA Archiver)", 
"Perl tool", 
"MJ12bot", 
"Netcraft", 
"MSIECrawler", 
"WGet tools", 
"larbin", 
"Fish search", 
); 
foreach($spiderSite as $val) { 
$str = strtolower($val); 
if (strpos($agent, $str) !== false) { 
return true; 
} 
} 
} else { 
return false; 
} 
}

网上倒是能搜到一大把,不过都是千篇一律的复制来复制去的,也不够全面,我这里整理了一份比较全面的代码:

function is_spider(){ 
$robot = 0; 
$USER_AGENT = strtolower($_SERVER['HTTP_USER_AGENT']); 
if(strpos($USER_AGENT,"bot")) $robot = 1; 
if(strpos($USER_AGENT,"spider")) $robot = 1; 
if(strpos($USER_AGENT,"slurp")) $robot = 1; 
if(strpos($USER_AGENT,"mediapartners-google")) $robot = 1; 
if(strpos($USER_AGENT,"fast-webcrawler")) $robot = 1; 
if(strpos($USER_AGENT,"altavista")) $robot = 1; 
if(strpos($USER_AGENT,"ia_archiver")) $robot = 1; 
if($robot == 1){ 
//do something 
} 
return ''; 
}
PHP 相关文章推荐
php中获得视频时间总长度的另一种方法
Sep 15 PHP
php清空(删除)指定目录下的文件,不删除目录文件夹的实现代码
Sep 04 PHP
PHP图像处理之使用imagecolorallocate()函数设置颜色例子
Nov 19 PHP
PHP文件操作之获取目录下文件与计算相对路径的方法
Jan 08 PHP
PHP获取input输入框中的值去数据库比较显示出来
Nov 16 PHP
thinkPHP实现签到功能的方法
Mar 15 PHP
PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】
Nov 14 PHP
PHP+redis实现的悲观锁机制示例
Jun 12 PHP
PHP PDOStatement::getAttribute讲解
Feb 01 PHP
PHP+Redis开发的书签案例实战详解
Jul 09 PHP
PHP生成图表pChart的示例解析
Jul 31 PHP
PHP7新增函数
Mar 09 PHP
php.ini中date.timezone设置分析
Jul 29 #PHP
PHP调用Webservice实例代码
Jul 29 #PHP
php和数据库结合的一个简单的web实例 代码分析 (php初学者)
Jul 28 #PHP
一个典型的PHP分页实例代码分享
Jul 28 #PHP
新手学习PHP的一些基础知识分享
Jul 27 #PHP
php XPath对XML文件查找及修改实现代码
Jul 27 #PHP
简单的php写入数据库类代码分享
Jul 26 #PHP
You might like
星际争霸 Starcraft 秘技补丁
2020/03/14 星际争霸
让你同时上传 1000 个文件 (二)
2006/10/09 PHP
PHP代码实现表单数据验证类
2015/07/28 PHP
修改WordPress中文章编辑器的样式的方法详解
2015/12/15 PHP
Yii2下session跨域名共存的解决方案
2017/02/04 PHP
cakephp2.X多表联合查询join及使用分页查询的方法
2017/02/23 PHP
thinkPHP5.0框架简单配置作用域的方法
2017/03/17 PHP
ie focus bug 解决方法
2009/09/03 Javascript
JavaScript sub方法入门实例(把字符串显示为下标)
2014/10/17 Javascript
JSONP之我见
2015/03/24 Javascript
jQuery获得子元素个数的方法
2015/04/14 Javascript
js实现精美的银灰色竖排折叠菜单
2015/05/16 Javascript
javascript巧用eval函数组装表单输入项为json对象的方法
2015/11/25 Javascript
javascript中闭包(Closure)详解
2016/01/06 Javascript
Node.js Sequelize如何实现数据库的读写分离
2016/10/23 Javascript
Chrome不支持showModalDialog模态对话框和无法返回returnValue问题的解决方法
2016/10/30 Javascript
vue 2.x 中axios 封装的get 和post方法
2018/02/28 Javascript
实例详解Node.js 函数
2018/06/10 Javascript
解决vue中post方式提交数据后台无法接收的问题
2018/08/11 Javascript
微信小程序转化为uni-app项目的方法示例
2020/05/22 Javascript
简单介绍Python下自己编写web框架的一些要点
2015/04/29 Python
Python的“二维”字典 (two-dimension dictionary)定义与实现方法
2016/04/27 Python
Python中的字符串替换操作示例
2016/06/27 Python
为什么入门大数据选择Python而不是Java?
2018/03/07 Python
Python任意字符串转16, 32, 64进制的方法
2019/06/12 Python
Python实现AI自动抠图实例解析
2020/03/05 Python
python cv2.resize函数high和width注意事项说明
2020/07/05 Python
PyCharm配置anaconda环境的步骤详解
2020/07/31 Python
python操作链表的示例代码
2020/09/27 Python
教师应聘自荐信范文
2014/03/14 职场文书
学生上课看漫画的检讨书
2014/09/26 职场文书
房产协议书范本
2014/10/18 职场文书
2014年财务部工作总结
2014/11/11 职场文书
2014年领导班子工作总结
2014/12/11 职场文书
个人年底工作总结
2015/03/10 职场文书
默认网关不可用修复后过一会又不好使了解决方法
2022/04/08 数码科技