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 相关文章推荐
用Socket发送电子邮件
Oct 09 PHP
PHP Socket 编程
Apr 09 PHP
php 变量未定义等错误的解决方法
Jan 12 PHP
php下载excel无法打开的解决方法
Dec 24 PHP
html静态页面调用php文件的方法
Nov 13 PHP
PHP实现阳历到农历转换的类实例
Mar 07 PHP
ubuntu下配置nginx+php+mysql详解
Sep 10 PHP
PHP加密解密类实例代码
Jul 20 PHP
解决PHP 7编译安装错误:cannot stat ‘phar.phar’: No such file or directory
Feb 25 PHP
Yii框架使用魔术方法实现跨文件调用功能示例
May 20 PHP
php检查函数必传参数是否存在的实例详解
Aug 28 PHP
解决laravel(5.5)访问public报错的问题
Oct 12 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
PHP安装攻略:常见问题解答(三)
2006/10/09 PHP
用PHP+MySql编写聊天室
2006/10/09 PHP
15种PHP Encoder的比较
2007/03/06 PHP
Zend Guard一些常见问题解答
2008/09/11 PHP
PHP 第二节 数据类型之数组
2012/04/28 PHP
PHP语法小结之基础和变量
2015/11/22 PHP
微信公众号开发之文本消息自动回复php代码
2016/08/08 PHP
PHP之header函数详解
2021/03/02 PHP
疯掉了,尽然有js写的操作系统
2007/04/23 Javascript
基于jquery的拖动布局插件
2011/11/25 Javascript
js动态创建上传表单通过iframe模拟Ajax实现无刷新
2014/02/20 Javascript
JavaScript中判断两个字符串是否相等的方法
2015/07/07 Javascript
JS插件overlib用法实例详解
2015/12/26 Javascript
JS对HTML表格进行增删改操作
2016/08/22 Javascript
JS常见算法详解
2017/02/28 Javascript
老生常谈jquery中detach()和remove()的区别
2017/03/02 Javascript
VueJS事件处理器v-on的使用方法
2017/09/27 Javascript
小程序新版订阅消息模板消息
2019/12/31 Javascript
Vue之封装公用变量以及实现方式
2020/07/31 Javascript
python实现简单socket通信的方法
2016/04/19 Python
Python 两个列表的差集、并集和交集实现代码
2016/09/21 Python
python安装教程
2018/02/28 Python
Python实现判断一个整数是否为回文数算法示例
2019/03/02 Python
详解Python读取yaml文件多层菜单
2019/03/23 Python
python等待10秒执行下一命令的方法
2020/07/19 Python
Django xadmin安装及使用详解
2020/10/26 Python
英国赛车、汽车改装和摩托车零件购物网站:Demon Tweeks
2018/10/29 全球购物
兼职业务员岗位职责
2014/01/01 职场文书
办理暂住证介绍信
2014/01/11 职场文书
会计专业毕业自荐书范文
2014/02/08 职场文书
免职证明样本
2014/10/23 职场文书
作风建设年活动实施方案
2014/10/24 职场文书
2014年度个人总结范文
2015/03/09 职场文书
《葡萄沟》教学反思
2016/02/23 职场文书
Anaconda安装pytorch及配置PyCharm 2021环境
2021/06/04 Python
Java处理延时任务的常用几种解决方案
2022/06/01 Java/Android