CIDR形式によるIP範囲でのアクセス拒否方法

htaccessの見直し。百度とコメントスパムをよりスマートに撃退するようにしました。

百度(Baidu)は未だに行儀が悪いです。一応、以前よりは改善され、robots.txtをなるべく読み込もうとしてます。しかし、htaccessで規制したままでは読み込んでくれません。下手すると執拗に巡回BOTがアクセスを試みるかもしれません。

そこで、robots.txtだけは読めるようにしてみましょう。

<Files robots.txt>
    Allow from all
</Files>

もうひとつ、最近来るようになったコメントスパムの規制。今回は特に目立つunknown.ord.scnet.net、unknown.hostforweb.netについて。

これらは逆引きでIPを得られないホストです。どうやら、スパマーはホスト詐称を行っている様子。本来は全く別のホストから攻撃を行っているのでしょう。下記IPアドレスはほんの一例です。

order allow,deny
allow from alldeny from 66.225.201.0/24 #unknown.ord.scnet.net
deny from 216.246.79.0/24 #unknown.hostforweb.net

deny表記のネットマスクはCIDR形式にしてあります。192.168.0.0/255.255.255.0のような形式でもOK。CIDR形式は読みにくく、記述には慣れが必要かもしれません。

詳しくはIPアドレスとネットマスク(@IT)を参照して下さい。

CIDR形式192.168.1.0/255.255.255.0192.168.1.0/24後者の「/24」という表現であるが、これは、ネットマスクを構成する32bitのうち、最上位から24bit目までが1である、ということを表している。「255.255.255.0」という数値を2進数で表現すると、最上位(左端)から数えて24bit目までが全部1で、残り(25bit目から右端の最下位bitまで)は0である。これを「/24」と表現する。

Share