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 相关文章推荐
生成sessionid和随机密码的例子
Oct 09 PHP
php的一个登录的类 [推荐]
Mar 16 PHP
一步一步学习PHP(8) php 数组
Mar 05 PHP
PHP Zip解压 文件在线解压缩的函数代码
May 26 PHP
PHP下打开phpMyAdmin出现403错误的问题解决方法
May 23 PHP
解析php中static,const与define的使用区别
Jun 18 PHP
Yii框架中 find findAll 查找出制定的字段的方法对比
Sep 10 PHP
Zend Framework教程之Zend_Helpers动作助手ViewRenderer用法详解
Jul 20 PHP
php 类中的常量、静态属性、非静态属性的区别
Apr 09 PHP
PHP实现的堆排序算法详解
Aug 17 PHP
Laravel-admin之修改操作日志的方法
Sep 30 PHP
Thinkphp 框架扩展之行为扩展原理与实现方法分析
Apr 23 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解决抢购秒杀抽奖等大流量并发入库导致的库存负数的问题
2014/06/19 PHP
PHP判断来访是搜索引擎蜘蛛还是普通用户的代码小结
2015/09/14 PHP
js event事件的传递与冒泡处理
2009/12/06 Javascript
做好七件事帮你提升jQuery的性能
2014/02/06 Javascript
jquery插件推荐 jquery.cookie
2014/11/09 Javascript
js限制input标签中只能输入中文
2015/06/26 Javascript
js实现动态创建的元素绑定事件
2016/07/19 Javascript
BootStrap 导航条实例代码
2017/05/18 Javascript
一文搞懂ES6中的Map和Set
2019/05/20 Javascript
JavaScript如何获取一个元素的样式信息
2019/07/29 Javascript
ES6 async、await的基本使用方法示例
2020/06/06 Javascript
Vue+Java 通过websocket实现服务器与客户端双向通信操作
2020/09/22 Javascript
详解JavaScript中的this指向问题
2021/02/05 Javascript
跟老齐学Python之有容乃大的list(3)
2014/09/15 Python
跟老齐学Python之通过Python连接数据库
2014/10/28 Python
Python处理json字符串转化为字典的简单实现
2016/07/07 Python
人工神经网络算法知识点总结
2019/06/11 Python
关于python3中setup.py小概念解析
2019/08/22 Python
python 消费 kafka 数据教程
2019/12/21 Python
python如何调用字典的key
2020/05/25 Python
python装饰器代码深入讲解
2021/03/01 Python
经典c++面试题五
2014/12/17 面试题
Java文件和目录(IO)操作
2014/08/26 面试题
大学毕业通用个人的求职信
2013/12/08 职场文书
建筑投标担保书
2014/05/20 职场文书
村班子对照检查材料
2014/08/18 职场文书
超市七夕促销活动方案
2014/08/28 职场文书
幼儿园教师的自我评价范文
2014/09/17 职场文书
五年级上册复习计划
2015/01/19 职场文书
幼儿园教师求职信
2015/03/20 职场文书
雨雪天气温馨提示
2015/07/15 职场文书
2016中秋节晚会开场白
2015/11/26 职场文书
2016年“9.22”世界无车日活动小结
2016/04/05 职场文书
创业计划书之闲置物品置换中心
2019/12/25 职场文书
MongoDB修改oplog大小的四种方法
2022/04/11 MongoDB
Spring Boot接口定义和全局异常统一处理
2022/04/20 Java/Android