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代码
Dec 06 PHP
php简单浏览目录内容的实现代码
Jun 07 PHP
Codeigniter实现多文件上传并创建多个缩略图
Jun 12 PHP
PHP自定session保存路径及删除、注销与写入的方法
Nov 18 PHP
PHP实现文件下载详解
Nov 27 PHP
php+mysql删除指定编号员工信息的方法
Jan 14 PHP
PHP5全版本绕过open_basedir读文件脚本漏洞详细介绍
Jan 20 PHP
php实现获取文件mime类型的方法
Feb 11 PHP
ThinkPHP进程计数类Process用法实例详解
Sep 25 PHP
php时间函数用法分析
May 28 PHP
php解决crontab定时任务不能写入文件问题的方法分析
Sep 16 PHP
PHP的图像处理实例小结【文字水印、图片水印、压缩图像等】
Dec 20 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
雄兵连三大错觉:凯莎没了,凉冰阵亡了,华烨觉得自己又行了
2020/04/09 国漫
一个简单的PHP入门源程序
2006/10/09 PHP
在windows平台上构建自己的PHP实现方法(仅适用于php5.2)
2013/07/05 PHP
[原创]php逐行读取txt文件写入数组的方法
2015/07/02 PHP
PHP如何通过AJAX方式实现登录功能
2015/11/23 PHP
php实现对短信验证码发送次数的限制实例讲解
2021/03/04 PHP
解决Jquery load()加载GB2312页面时出现乱码的两种方案
2013/09/10 Javascript
使用非html5实现js板连连看游戏示例代码
2013/09/22 Javascript
jquery自动切换tabs选项卡的具体实现
2013/12/24 Javascript
JQuery实现table行折叠效果以JSON做数据源
2014/05/26 Javascript
基于jQuery和CSS3制作响应式水平时间轴附源码下载
2015/12/20 Javascript
AngularJs concepts详解及示例代码
2016/09/01 Javascript
jQuery实现的表格展开伸缩效果实例
2016/09/07 Javascript
Vue.js组件tab实现选项卡切换
2020/03/23 Javascript
基于nodejs+express4.X实现文件下载的实例代码
2017/07/13 NodeJs
Node.js中DNS模块学习总结
2018/02/28 Javascript
vue.js与后台数据交互的实例讲解
2018/08/08 Javascript
详解Angular Forms中自定义ngModel绑定值的方式
2018/12/10 Javascript
重学JS之显示强制类型转换详解
2019/06/30 Javascript
微信小程序 this.triggerEvent()的具体使用
2019/12/10 Javascript
python发腾讯微博代码分享
2014/01/10 Python
将Django框架和遗留的Web应用集成的方法
2015/07/24 Python
解决Python中字符串和数字拼接报错的方法
2016/10/23 Python
python实现逆序输出一个数字的示例讲解
2018/06/25 Python
python 实现矩阵填充0的例子
2019/11/29 Python
提升python处理速度原理及方法实例
2019/12/25 Python
pymysql 插入数据 转义处理方式
2020/03/02 Python
html5 视频播放解决方案
2016/11/06 HTML / CSS
Mio Skincare中文官网:肌肤和身体护理
2016/10/26 全球购物
欧洲有机婴儿食品最大的市场:Organic Baby Food(供美国和加拿大)
2018/03/28 全球购物
入党申请书自我鉴定
2013/10/12 职场文书
写演讲稿所需要注意的4个条件
2014/01/09 职场文书
建议书格式
2015/02/04 职场文书
村党组织公开承诺书
2015/04/30 职场文书
导游词之镇江西津古渡
2019/11/06 职场文书
Java中的随机数Random
2022/03/17 Java/Android