0712-2888027 189-8648-0214
微信公眾號(hào)

孝感風(fēng)信網(wǎng)絡(luò)科技有限公司微信公眾號(hào)

當(dāng)前位置:主頁(yè) > 技術(shù)支持 > PHP > PHP下封殺野蜘蛛Spider/Bot的方法

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

時(shí)間:2024-09-14來(lái)源:風(fēng)信官網(wǎng) 點(diǎn)擊: 945次
最近看了網(wǎng)站的訪(fǎng)問(wèn)日志,發(fā)現(xiàn)幾個(gè)網(wǎng)絡(luò)蜘蛛吃了大部分的流量,其中尤以幾個(gè)野蜘蛛為甚。一般的蜘蛛,你在robots.txt里把它禁止了,它也很快就不來(lái)了。但是有些野蜘蛛根本無(wú)視r(shí)obots.txt的存在,照樣天天來(lái)。而且IP很豐富,例如這個(gè)EasouSpider,天天瘋爬,IP從183.60.212*到183.60.215.*,每天不重樣。按IP段封又怕誤殺。更有些沒(méi)皮沒(méi)臉的,連HTTP_USER_AGENT都是空的,也天天按時(shí)報(bào)到。

對(duì)于這兩種情況通過(guò)研究發(fā)現(xiàn)可以通過(guò)判斷HTTP_USER_AGENT字段,把這些訪(fǎng)問(wèn)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");
 // 當(dāng)然你也可以把臟水潑回去: header("Location: http://www.easou.com");
 echo '本站屏蔽某些野蜘蛛Spider/Bot,看到本頁(yè)面表示被屏蔽,如果您是普通的訪(fǎng)問(wèn)者,請(qǐng)聯(lián)系 <a href=mailto:xx@xxx.me?subject=小米樂(lè)園誤屏蔽正常訪(fǎng)問(wèn)者>xx@xxx.me</a> 反饋情況,謝謝!<br>——小米樂(lè)園 s.mile77.com';    
 exit();
}
//Ban 掉某些野蜘蛛 2013.01.11
?>

這是把HTTP_USER_AGENT字段為空或包含“EasouSpider”的訪(fǎng)問(wèn)Ban掉,如果想Ban掉其它的訪(fǎng)問(wèn)者,可以按照格式添加判斷條件。
熱門(mén)關(guān)鍵詞: PHP 封殺野蜘蛛 Spider/Bot
欄目列表
推薦內(nèi)容
熱點(diǎn)內(nèi)容
展開(kāi)