阻擋 IP

最近因為 Sososipder (搜搜網的 robot)實在是太機車了。
官網的說明還說會遵照 robot.txt 的規範(阿為什麼 google bot 就不會找我的網站),所以就找了一些方法來直接擋掉搜搜網的網域(有人是 ban 掉兩個 class C 的~我比較狠,我直接 ban class B)。
以下是一些方法,不過都沒用。後來還是請出 pf 來擋掉才可以...>"<
From:http://www.real-blog.com/programming/116
http://demo.xms.com.tw/xms/content/show.php?id=2617
一、PHP

<?php
$banned = file("ban_ip_list.dat");
if(in_array($_SERVER['REMOTE_ADDR'], $banned)){
echo "You have been banned.";
exit();
}
?>

從 ban_ip_list.dat 讀入每一行資料,並儲存到 $banned 陣列內,然後用 in_array() 檢查訪客的 ip 如果在陣列內,則印出 "You have been banned.",並且結束程式。
二、. htaccess

Order Deny,Allow
Deny from 124.115.0.0/16

三、Apache http conf
在<Directory "/usr/local/www/apache22/data">、</Directory>之間加入:

Deny from 124.115.0.0/16

之後記得重新啟動 Apache。
四、pf

# Macros:
soso_net="124.115.0.0/16"
# Filtering:
block quick on $ext_if from $soso_net to any

註:$ext_if 是對外的網卡。

Please follow and like us: