lighttpd でスパムボットを排除する方法
「mod_setenvif を使って Apache のログを軽量化」で Apache のログの軽量化の一つとして robot.txt とかを無視してすごい勢いでアクセスしてくるロボットつまりは spambot を排除する方法をお知らせしましたが、「lighttpd + FastCGI は mod_perl + Apache1.3 より1割ほど高速」で書いたように、lighttpd へ移行してからそこら辺の設定がメンドウでサボってました。
昨晩、とあるエラーが大量に出力されていたので気になって調べてみると、Ask.jp のロボットが秒間 5 リクエストくらいの勢いでクロールしに来てました。ちなみに、下記のような UserAgent で到来します。
すでに、UserAgent レベルで、Mozilla って書いてある時点でスパムチックな香りがガンガンするわけで、案の定 robot.txt を無視してアクセスしに来てくれました。ということで、lighttpd に設定を行い、Ask.jp のスパムボットを弾く設定をしました。
Apache で記述するところの
deny from env=bad_bot
に相当する設定は、lighttpd では次のように記述します。
url.access-deny = ( "" )
}
この設定で、スパムボットの多くは完全にシャットアウトできると思います。それにしても解せないのは、「Ask.jp へのサイト登録と削除」で robot.txt に設定すれば、ちゃんとクローラーを制御できると書いてあるのですが、全くその通りに動いてくれないという罠。
う〜ん・・・これから盛り上げていこうとする Ask.jp ですが、こんなんではちょっとなぁ・・・と思ってしまいますよね。
コメントやシェアをお願いします!