<?php function checkrobot($useragent=''){ static $kw_spiders = array('bot', 'crawl', 'spider' ,'slurp', 'sohu-search', 'lycos', 'robozilla'); static $kw_browsers = array('msie', 'netscape', 'opera', 'konqueror', 'mozilla'); $useragent = strtolower(empty($useragent) ? $_SERVER['HTTP_USER_AGENT'] : $useragent); if(strpos($useragent, 'http://') === false && dstrpos($useragent, $kw_browsers)) return false; if(dstrpos($useragent, $kw_spiders)) return true; return false; } function dstrpos($string, $arr, $returnvalue = false) { if(empty($string)) return false; foreach((array)$arr as $v) { if(strpos($string, $v) !== false) { $return = $returnvalue ? $v : true; return $return; } } return false; } if(checkrobot()){ echo '机器人爬虫'; }else{ echo '人'; } ?> |
php判断搜索引擎蜘蛛爬虫还是人为访问代码,摘自Discuz x2_Beta
<?php //判断是否为机器人、爬虫 function checkrobot($useragent = ''){ static $kw_spiders = 'Bot|Crawl|Spider|slurp|sohu-search|lycos|robozilla'; static $kw_browsers = 'MSIE|Netscape|Opera|Konqueror|Mozilla'; $useragent = empty($useragent) ? $_SERVER['HTTP_USER_AGENT'] : $useragent; if(!strexists($useragent, 'http://') && preg_match("/($kw_browsers)/i", $useragent)) { return false; } elseif(preg_match("/($kw_spiders)/i", $useragent)) { return true; } else { return false; } } function strexists($haystack, $needle) { return !(strpos($haystack, $needle) === FALSE); } if(checkrobot()){ echo '机器人爬虫'; }else{ echo '人'; } ?> |
(责任编辑:我爱学习网)