まーたどっかのアホ BOT が crawl…

本記事は最終更新日より 1 年以上経過しております。
スポンサーリンク

co.uk の TLD *1 を持つホストから UA *2 に「MJ12bot/v1.0.8」なんて付けてこのブログを
1 時間ちょいかけて 906 アクセスをかましてきた。

サーバーのステータスが変だったから全部調べた。
Munin *3 のグラフやら Apache *4 の生ログから該当時間の大量アクセスを抽出等々。
「MJ12bot/v1.0.8 (http://majestic12.co.uk/bot.php?+)」
こいつは一応弾いておいた方がいいかもしれないね。
うちはもうコンテンツ総なめされちったからほっとくけど (笑

.htaccess で弾くなら

SetEnvIf User-Agent “^MJ12bot” BAN
Order Allow,Deny
Allow from all
Deny from BAN

単品ならこんな感じですわな。
SetEnvIf を複数書いて BAN という変数に結びつければアレコレと制御可能です。
「SetEnvIf User-Agent “^MJ12bot” BAN」これ説明すると~
ユーザーエージェントが MJ12bot で始まるアクセスであれば変数 BAN をセットする。
ということになりますです。
そんで、セットされていれば「Deny from BAN」これに引っかかってアクセス不能と。
ダブルクォーテーションで囲われた間だは PCRE *5 で評価されるので特殊文字はエスケープする。

セットされた変数を解除するには「!BAN」という感じでエクスクラメーションを付加する。
解除を使うのは多重に定義したルールで例外的に通すよーとかでつかってますわ。

スポンサーリンク
  1. TopLevelDomain []
  2. UserAgent []
  3. Linux の監視ツール []
  4. Web サーバーソフトウェア []
  5. Perl 互換正規表現 []