全信協spamクローラのフィルタ
Posted by yoosee on Web at 2006-04-04 23:42 JST1 所謂 全信協スパムクローラを避ける mod_rewrite 設定
日本の spam crawler としては老舗であろう全信協だが、1秒間に 20アクセス以上と言うふざけたアクセスをしてくる上に index.html へ連続 15回 といった無意味なアクセスも大量にしてくるのがいい加減に鬱陶しいので、今更ではあるがフィルタすることにした。対策としては mod_rewrite による deny。全信協スパムクローラ対策 を参考に RewriteRule を書いた。OCN など特定 ISP が良く使われるという特徴の他にも
- HTTP/1.0 でのアクセス
- HTTP_REFERER が空
- USER_AGENT が Mozilla/4.0 (compatible; MSIE 6.0; Windows 98)
(ないし Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322) もあるらしいが、後者はうちではあまり見当たらない)
RewriteEngine On RewriteCond %{HTTP_REFERER} ^$ RewriteCond %{REMOTE_HOST} marunouchi\.tokyo\.ocn\.ne\.jp$ [OR] RewriteCond %{REMOTE_HOST} tokyo-ip\.dti\.ne\.jp$ [OR] RewriteCond %{REMOTE_HOST} odn\.ad\.jp$ [OR] RewriteCond %{REMOTE_HOST} tky\.mesh\.ad\.jp$ [OR] RewriteCond %{REMOTE_HOST} ap\.gmo-access\.jp$ RewriteCond %{HTTP_USER_AGENT} "^Mozilla/4\.0 \(compatible; MSIE 6\.0; Windows 98\)$" RewriteCond %{SERVER_PROTOCOL} ^HTTP/1\.0$ RewriteRule .* - [F,L]ちなみに RewriteRule は下層ディレクトリにも引き継がれるが、そちらで別途 RewriteEngine On による Rewrite 設定をしている場合には
RewriteEngine On RewriteOptions inheritとしておかないと設定がクリアされて効かなくなるらしいので注意。