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+mysql扎实个人基本功
Mar 27 PHP
PHP开发环境配置(MySQL数据库安装图文教程)
Apr 28 PHP
破解图片防盗链的代码(asp/php)测试通过
Jul 02 PHP
PHP错误抑制符(@)导致引用传参失败Bug的分析
May 02 PHP
PHP中对用户身份认证实现两种方法
Jun 04 PHP
yii上传文件或图片实例
Apr 01 PHP
php使用百度ping服务代码实例
Jun 19 PHP
php的curl封装类用法实例
Nov 07 PHP
ThinkPHP实现非标准名称数据表快速创建模型的方法
Nov 29 PHP
PHP面向对象之后期静态绑定功能介绍
May 18 PHP
php下载文件,添加响应头的简单实例
Sep 22 PHP
动态表单验证的操作方法和TP框架里面的ajax表单验证
Jul 19 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
ThinkPHP在新浪SAE平台的部署实例
2014/10/31 PHP
PHP的Yii框架中行为的定义与绑定方法讲解
2016/03/18 PHP
使用ThinkPHP生成缩略图及显示
2017/04/27 PHP
php单元测试phpunit入门实例教程
2017/11/17 PHP
PHP获取链表中倒数第K个节点的方法
2018/01/18 PHP
php模式设计之观察者模式应用实例分析
2019/09/25 PHP
建立良好体验度的Web注册系统ajax
2007/07/09 Javascript
权威JavaScript 中的内存泄露模式
2007/08/13 Javascript
jQuery的强大选择器小结
2009/12/27 Javascript
JavaScript Title、alt提示(Tips)实现源码解读
2010/12/12 Javascript
在多个页面使用同一个HTML片段的代码
2011/03/04 Javascript
验证码按回车不变解决方法
2013/03/29 Javascript
JavaScript中伪协议 javascript:使用探讨
2014/07/18 Javascript
AngularJS手动表单验证
2016/02/01 Javascript
Bootstrap 最常用的JS插件系列总结(图片轮播、标签切换等)
2016/07/14 Javascript
JavaScript兼容性总结之获取非行间样式案例
2016/08/07 Javascript
js实现开启密码大写提示
2016/12/21 Javascript
JS简单获取并修改input文本框内容的方法示例
2018/04/08 Javascript
[00:23]DOTA2群星共贺开放测试 25日无码时代来袭
2013/09/23 DOTA
[42:39]老党炸弹人试玩视频
2014/09/03 DOTA
详解Python 2.6 升级至 Python 2.7 的实践心得
2017/04/27 Python
Django数据库操作的实例(增删改查)
2017/09/04 Python
Django开发中的日志输出的方法
2018/07/02 Python
pygame游戏之旅 添加icon和bgm音效的方法
2018/11/21 Python
Python自动化运维之Ansible定义主机与组规则操作详解
2019/06/13 Python
django框架面向对象ORM模型继承用法实例分析
2019/07/29 Python
如何把python项目部署到linux服务器
2020/08/26 Python
python实现杨辉三角的几种方法代码实例
2021/03/02 Python
用canvas实现图片滤镜效果附演示
2013/11/05 HTML / CSS
汉米尔顿手表官网:Hamilton
2020/09/13 全球购物
瀑布模型都有哪些优缺点
2014/06/23 面试题
学习经验演讲稿
2014/05/10 职场文书
健康教育主题班会
2015/08/14 职场文书
写作技巧:如何撰写商业计划书
2019/08/08 职场文书
Android基础入门之dataBinding的简单使用教程
2022/06/21 Java/Android
全网非常详细的pytest配置文件
2022/07/15 Python