php 判断访客是否为搜索引擎蜘蛛的函数代码

Flower ·
更新时间:2024-09-20
· 642 次阅读

代码如下:
/**
* 判断是否为搜索引擎蜘蛛
*
* @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判断是手机端还是PC端 PHP判断是否是微信浏览器thinkphp判断访客为手机端或PC端的方法在WordPress中使用PHP脚本来判断访客来自什么国家PHP中通过HTTP_USER_AGENT判断是否为手机移动终端的函数代码利用PHP判断是手机移动端还是PC端访问的函数示例php函数实现判断是否移动端访问php/asp/asp.net中判断百度移动和PC蜘蛛的实现代码PHP判断是否是微信打开还是浏览器打开的方法通过JS和PHP两种方法判断用户请求时使用的浏览器类型使用PHP和JavaScript判断请求是否来自微信内浏览器PHP判断访客是否手机端(移动端浏览器)访问的方法总结【4种方法】



函数 蜘蛛 搜索引擎 索引 PHP

需要 登录 后方可回复, 如果你还没有账号请 注册新账号