私がやっているもうひとつのブログにコメントスパムがやってくるようになりました。
10分から20分おきに、古い記事から新しい記事へと次々にコメントが付いていて、IP アドレスもバラバラ、ちょっとブロックできない感じです。
とりあえず、「コメントの事前確認を有効にする。」にチェックを入れて、確認したコメントのみをページに表示する設定にしてみたのですが、この方法では管理画面でいちいちコメントスパムを削除しなければなりません。
コメントスパムは、スパムロボットというやつが「mt-comments.cgi」に直接アクセスして書き込んでいるみたいです。これじゃぁ、手で削除しても追いつきませんわw
ということで、こちらの記事を参考にコメントスパム対策してみました。
コメント本文に日本語が含まれていないとエラーにして書き込めなくするというものです。
方法は、「mt-comments.cgi」の eval 内、require MT::App::Comments; の下に下記の4行を追加。
require CGI; my $q = CGI->new; my $txt = $q->param('text'); if(($txt ne "") && ($txt !~ m/[\x80-\xff]/)){die('error')};
本文を英語入力して、テストしてみると見事エラーがでました。はたして、これが正常な動作なのかはわかりませんが、とりあえず書き込めなくなっているのでオッケーかなとw
この方法で行くと、ブログを複数立ち上げていても、編集するファイルはひとつだけなので良いです。