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 相关文章推荐
计数器详细设计
Oct 09 PHP
Smarty安装配置方法
Apr 10 PHP
一个显示效果非常不错的PHP错误、异常处理类
Mar 21 PHP
php生成静态页面的简单示例
Apr 17 PHP
PHP实现的简单日历类
Nov 29 PHP
dedecms集成财付通支付接口
Dec 28 PHP
如何在旧的PHP系统中使用PHP 5.3之后的库
Dec 02 PHP
高质量PHP代码的50个实用技巧必备(上)
Jan 22 PHP
深入浅析yii2-gii自定义模板的方法
Apr 26 PHP
使用YII2框架实现微信公众号中表单提交功能
Sep 04 PHP
PHP封装cURL工具类与应用示例
Jul 01 PHP
使用PHP开发留言板功能
Nov 19 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使用curl发送json格式数据实例
2013/12/17 PHP
php 输出缓冲 Output Control用法实例详解
2020/03/03 PHP
juqery 学习之五 文档处理 包裹、替换、删除、复制
2011/02/11 Javascript
jquery遍历checkbox的注意事项说明
2014/02/21 Javascript
javascript如何实现360度全景照片问题汇总
2016/04/04 Javascript
JavaScript实现阿拉伯数字和中文数字互相转换
2016/06/12 Javascript
js制作支付倒计时页面
2016/10/21 Javascript
jQuery事件绑定方法学习总结(推荐)
2016/11/21 Javascript
JavaScript基本类型值-Number类型
2017/02/24 Javascript
微信小程序页面间通信的5种方式
2017/03/31 Javascript
详解基于Bootstrap+angular的一个豆瓣电影app
2017/06/26 Javascript
关于vue.extend和vue.component的区别浅析
2017/08/16 Javascript
js+canvas实现滑动拼图验证码功能
2018/03/26 Javascript
Webpack path与publicPath的区别详解
2018/05/03 Javascript
使用Vue自定义指令实现Select组件
2018/05/24 Javascript
js中arguments对象的深入理解
2019/05/14 Javascript
使用JS来动态操作css的几种方法
2019/12/18 Javascript
使用webpack/gulp构建TypeScript项目的方法示例
2019/12/18 Javascript
详解vue 组件
2020/06/11 Javascript
Javascript实现单选框效果
2020/12/09 Javascript
vue 动态生成拓扑图的示例
2021/01/03 Vue.js
[03:16]DOTA2完美大师赛小组赛精彩集锦
2017/11/22 DOTA
python 实现归并排序算法
2012/06/05 Python
TF-IDF与余弦相似性的应用(二) 找出相似文章
2017/12/21 Python
python写入并获取剪切板内容的实例
2018/05/31 Python
Python实现带参数的用户验证功能装饰器示例
2018/12/14 Python
手把手教你Python yLab的绘制折线图的画法
2019/10/23 Python
Python实现读取并写入Excel文件过程解析
2020/05/27 Python
Python字典fromkeys()方法使用代码实例
2020/07/20 Python
python Tornado框架的使用示例
2020/10/19 Python
html5的新增的标签和废除的标签简要概述
2013/02/20 HTML / CSS
即兴演讲稿
2014/01/04 职场文书
保护环境倡议书范文
2014/05/13 职场文书
销售简历自我评价怎么写
2014/09/26 职场文书
实习单位意见
2015/06/04 职场文书
在职证明书模板
2015/06/15 职场文书