php 判断访客是否为搜索引擎蜘蛛的函数代码
2011-07-29 00:00
891 查看
/** * 判断是否为搜索引擎蜘蛛 * * @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 ''; }
相关文章推荐
- 根据URL判断是否本地局域网访问(PHP代码函数)
- php中判断文件空目录是否有读写权限的函数代码
- PHP strstr 函数判断字符串是否否存在的实例代码
- PHP中通过HTTP_USER_AGENT判断是否为手机移动终端的函数代码
- 判断mysql字段是否存在(PHP代码函数)
- PHP strstr 函数判断字符串是否否存在的实例代码
- 判断密码是否合法 (PHP代码函数)
- 正则判断是否邮箱email(PHP代码函数)
- PHP中通过HTTP_USER_AGENT判断是否为手机移动终端的函数代码
- php判断访客是否是搜索引擎蜘蛛和向访客和爬虫显示不同的内容
- 判断是否URL网址(PHP代码/函数)
- PHP中通过HTTP_USER_AGENT判断是否为手机移动终端的函数代码
- PHP的几个常用数字判断函数代码
- PHP 判断常量,变量和函数是否存在
- js判断输入是否为正整数、浮点数等数字的函数代码
- 微信公众号判断用户是否已关注php代码解析
- PHP中判断某个函数是否被支持
- PHP判断远程图片或文件是否存在的实现代码