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 相关文章推荐
模仿OSO的论坛(五)
Oct 09 PHP
PHP 函数语法介绍一
Jun 14 PHP
整理的一些实用WordPress后台MySQL操作命令
Jan 07 PHP
浅析51个PHP处理字符串的函数
Aug 02 PHP
php类声明和php类使用方法示例分享
Mar 29 PHP
php获取远程文件内容的函数
Nov 02 PHP
浅谈Laravel队列实现原理解决问题记录
Aug 19 PHP
详细解读php的命名空间(二)
Feb 21 PHP
PHP中cookie知识点学习
May 06 PHP
PHP Swoole异步MySQL客户端实现方法示例
Oct 24 PHP
Cookie跨域问题解决方案代码示例
Nov 24 PHP
详解thinkphp的Auth类认证
May 28 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
pw的一个放后门的方法分析
2007/10/08 PHP
数据库查询记录php 多行多列显示
2009/08/15 PHP
php面向对象全攻略 (一) 面向对象基础知识
2009/09/30 PHP
PHP中文处理 中文字符串截取(mb_substr)和获取中文字符串字数
2011/11/10 PHP
PHP关联数组实现根据元素值删除元素的方法
2015/06/26 PHP
PHP实现动态web服务器方法
2015/07/29 PHP
日常整理PHP中简单的图形处理(经典)
2015/10/26 PHP
漂亮的thinkphp 跳转页封装示例
2019/10/16 PHP
为超链接加上disabled后的故事
2010/12/10 Javascript
JavaScript 类型的包装对象(Typed Wrappers)
2011/10/27 Javascript
js实现每日自动换一张图片的方法
2015/05/04 Javascript
浅谈addEventListener和attachEvent的区别
2016/07/14 Javascript
AngularJS辅助库browserTrigger用法示例
2016/11/03 Javascript
基于JQuery实现的跑马灯效果(文字无缝向上翻动)
2016/12/02 Javascript
jQuery实现简单的计时器功能实例分析
2017/08/29 jQuery
vue-cli中vue本地实现跨域调试接口
2019/01/16 Javascript
Nginx设置为Node.js的前端服务器方法总结
2019/03/27 Javascript
layer实现登录弹框,登录成功后关闭弹框并调用父窗口的例子
2019/09/11 Javascript
vue获取data数据改变前后的值方法
2019/11/07 Javascript
ES6函数实现排它两种写法解析
2020/05/13 Javascript
微信小程序canvas实现签名功能
2021/01/19 Javascript
Python实现的递归神经网络简单示例
2017/08/11 Python
Python装饰器(decorator)定义与用法详解
2018/02/09 Python
Django学习教程之静态文件的调用详解
2018/05/08 Python
python+numpy按行求一个二维数组的最大值方法
2019/07/09 Python
CSS3动画:5种预载动画效果实例
2017/04/05 HTML / CSS
使用HTML5 Canvas绘制直线或折线等线条的方法讲解
2016/03/14 HTML / CSS
HTML5到底会有什么发展?HTML5的前景展望
2015/07/07 HTML / CSS
Move Free官方海外旗舰店:美国骨关节健康专业品牌
2017/12/06 全球购物
教育科研先进个人材料
2014/01/26 职场文书
立志成才演讲稿
2014/09/04 职场文书
雷峰塔导游词
2015/02/09 职场文书
干部培训工作总结2015
2015/05/25 职场文书
会计岗位工作总结
2015/08/12 职场文书
初中生物教学反思
2016/02/20 职场文书
Java 轮询锁使用时遇到问题
2022/05/11 Java/Android