禁止百度蜘蛛爬取服务器

问题描述:
由于百度蜘蛛的大量抓取,导致服务器性能下降,最后宕机;而它抓取的还是一些不重要的业务


解决办法:
从入口文件中禁止,如果是百度的抓取就让它直接返回,不让它进入程序中消耗服务器资源
主要用到的得到user-agent百度的为“Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)”


php程序段
list(,$controller,$function) =  explode('/', $_SERVER['SCRIPT_URL']);
//禁止百度蜘蛛抓取tl 和cl目录
$user_agent = $_SERVER['HTTP_USER_AGENT'];
if($user_agent == 'Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)' && preg_match('/^(tl*)|^(cl*)/',$controller)) {
	die('不需要抓取');
}


另外从apache中直接禁掉所有蜘蛛的抓取可以用以下配置


BrowserMatch "Spider" bad_bot

你可能感兴趣的:(PHP技术篇)