怎么判断请求是蜘蛛还是恶意的(附爬虫IP段)

蜘蛛 SEO 网络 文章 2019-12-20 16:49 2094 0 全屏看文

AI助手支持GPT4.0

传统的判断是否是蜘蛛,是根据请求的user-agent

那蜘蛛的一般是:

function isRobot() { 
   // echo $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; 
    } 
}


但是header是可以伪造的,所以并不保险。所以三叔整理IP段:

function isRobotIP($ip) { 
   // echo $agent= strtolower($_SERVER['HTTP_USER_AGENT']); 
    if (!empty($ip)) { 
        $spiderSite= array( 
          '123.125.',
			'220.181.',
			'121.14.',
			'203.208.',
			'210.72.',
			'125.90.',
			'218.0.',
			'216.239.',
			'64.233.',
			'66.102.',
			'66.249.',
			'72.14.',
			'202.101.',
			'222.73.',
			'66.249.65.',
			'101.226.',
			'180.153.',
			'182.118.',
			'61.55.',
			'101.',
			'123.126.',
			'218.30.',
			'61.135.',
			'42.156.',
			'42.120.',
			'202.106.',
			'202.108.',
			'222.185.',
			'65.54.',
			'207.46.',
			'207.68.',
			'219.133.',
			'202.96.',
			'202.104.',
			'219.142.',
			'66.196.',
			'68.142.',
			'72.30.',
			'74.6.',
			'202.165.',
			'202.160.',
        ); 
        foreach($spiderSite as $val) { 
            if (startWith($ip, $val)) {
                return true; 
            } 
        } 
    } else { 
        return false; 
    } 
}


这样就安全多了!!!

-EOF-

AI助手支持GPT4.0