0712-2888027 189-8648-0214
微信公众号

孝感风信网络科技有限公司微信公众号

当前位置: 主页 > 技术支持 > PHP > PHP下封杀野蜘蛛Spider/Bot的方法

PHP下封杀野蜘蛛Spider/Bot的方法

时间:2016-05-18来源:风信网 点击:
最近看了网站的访问日志,发现几个网络蜘蛛吃了大部分的流量,其中尤以几个野蜘蛛为甚。一般的蜘蛛,你在robots.txt里把它禁止了,它也很快就不来了。但是有些野蜘蛛根本无视robots.txt的存在,照样天天来。而且IP很丰富,例如这个EasouSpider,天天疯爬,IP从183.60.212*到183.60.215.*,每天不重样。按IP段封又怕误杀。更有些没皮没脸的,连HTTP_USER_AGENT都是空的,也天天按时报到。

对于这两种情况通过研究发现可以通过判断HTTP_USER_AGENT字段,把这些访问Ban掉。

以Wordpress为例,可以在根目录下的wp-blog-header.php里最前面加入以下代码:

 <?php
//Ban 掉某些野蜘蛛 2013.01.11
$flag = false;
$tmp = $_SERVER['HTTP_USER_AGENT'];
if($tmp == ''){
    $flag = true;
} else if(strpos($tmp, 'EasouSpider') >0){
    $flag = true;
}
if($flag !== false){
 header('HTTP/1.1 404 Not Found');
 header("status: 404 Not Found");
 // 当然你也可以把脏水泼回去: header("Location: http://www.easou.com");
 echo '本站屏蔽某些野蜘蛛Spider/Bot,看到本页面表示被屏蔽,如果您是普通的访问者,请联系 <a href=mailto:xx@xxx.me?subject=小米乐园误屏蔽正常访问者>xx@xxx.me</a> 反馈情况,谢谢!<br>——小米乐园 s.mile77.com';    
 exit();
}
//Ban 掉某些野蜘蛛 2013.01.11
?>

这是把HTTP_USER_AGENT字段为空或包含“EasouSpider”的访问Ban掉,如果想Ban掉其它的访问者,可以按照格式添加判断条件。
热门关键词:PHP封杀野蜘蛛Spider/Bot
栏目列表
推荐内容
热点内容
展开