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中防止SQL注入实现代码
Feb 19 PHP
JSON在PHP中的应用介绍
Sep 08 PHP
提高PHP编程效率的方法
Nov 07 PHP
ThinkPHP3.1的Widget新用法
Jun 19 PHP
PHP输出两个数字中间有多少个回文数的方法
Mar 23 PHP
PHP连接MYSQL数据库实例代码
Jan 20 PHP
浅析Yii2 gridview实现批量删除教程
Apr 22 PHP
浅谈PHP链表数据结构(单链表)
Jun 08 PHP
功能强大的php分页函数
Jul 20 PHP
PHP中的浅复制与深复制的实例详解
Oct 26 PHP
浅谈php调用python文件
Mar 29 PHP
TP5(thinkPHP5框架)基于bootstrap实现的单图上传插件用法示例
May 29 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中数组的三种排序方法分享
2012/05/07 PHP
百度ping方法使用示例 自动ping百度
2014/01/26 PHP
PHP改进计算字符串相似度的函数similar_text()、levenshtein()
2014/10/27 PHP
phpcms的分类名称和类别名称的调用
2017/01/05 PHP
PHP 构造函数和析构函数原理与用法分析
2020/04/21 PHP
JavaScript Date对象使用总结
2009/05/14 Javascript
JQuery Tips(2) 关于$()包装集你不知道的
2009/12/14 Javascript
Jquery Ajax请求代码(2)
2011/01/07 Javascript
原生js写的放大镜效果
2012/08/22 Javascript
jQuery动态显示和隐藏datagrid中的某一列的方法
2013/12/11 Javascript
学习使用jquery iScroll.js移动端滚动条插件
2020/03/24 Javascript
vue的props实现子组件随父组件一起变化
2016/10/27 Javascript
Extjs让combobox写起来简洁又漂亮
2017/01/05 Javascript
JavaScript 数据类型详解
2017/03/13 Javascript
Vue实现左右菜单联动实现代码
2018/08/12 Javascript
JS实现可视化文件上传
2018/09/08 Javascript
JS返回页面时自动回滚到历史浏览位置
2018/09/26 Javascript
微信小程序仿今日头条导航栏滚动解析
2019/08/20 Javascript
python轻松实现代码编码格式转换
2015/03/26 Python
深入讲解Python函数中参数的使用及默认参数的陷阱
2016/03/13 Python
Python实现修改IE注册表功能示例
2018/05/10 Python
使用python PIL库实现简单验证码的去噪方法步骤
2019/05/10 Python
python opencv 实现对图像边缘扩充
2020/01/19 Python
django queryset 去重 .distinct()说明
2020/05/19 Python
详解pyqt5的UI中嵌入matplotlib图形并实时刷新(挖坑和填坑)
2020/08/07 Python
CSS3 media queries + jQuery实现响应式导航
2016/09/30 HTML / CSS
建筑项目策划书
2014/01/13 职场文书
英文商务邀请信
2014/01/22 职场文书
简历自我评价模版
2014/01/31 职场文书
国旗下讲话演讲稿
2014/05/08 职场文书
五一活动标语
2014/06/30 职场文书
个人贷款收入证明
2014/10/26 职场文书
委托书格式要求
2015/01/28 职场文书
2014年度个人工作总结范文
2015/03/09 职场文书
分析SQL窗口函数之聚合窗口函数
2022/04/21 Oracle
利用nginx搭建RTMP视频点播、直播、HLS服务器
2022/05/25 Servers