« 新田雄一の近況 | メイン | 海藻は植物ではない »

コメントスパムなんて絶対大嫌い for MovableType 3.2

Movable Typeを3.2にして以来、しばらくは放置しておいても大丈夫だったコメントスパムだが、最近また増えてきている。
そこでいろいろなサイトの情報を参考に、久々にコメントスパム対策にまじめに取り組んでみた。

まずは blog.bulknews.netMT SpamLookup Best Practices を参考に、現バージョンから導入された「SpamLookup」をチューニング。

ただし、このチューニングのうち「MTBanAscii」を除くすべての設定を行ってみたところ、いくつかのコメントスパムがまだ警戒網を潜り抜けてきたり、逆に真面目なコメントを排除しかねないことがわかったりしたため、わたし自身で更にチューニングを行ってみた。

「bulknews.net」さんの記事とわたしの現在の設定の違いは

  • 「Link」のリンク数 (Number of Links) の設定は「未公開」5、「迷惑」8
    未公開が「3」だと、通常の真面目なコメントでも、どこかのサイトを紹介して、更に自分のサイトをURL欄に書き入れていたりすると、ひっかかる可能性が高いため。

  • 「Link」で「リンク・メモリー」と「メール・メモリー」のチェックを外す
    これらのチェックが入ったままになっていると、排除したコメントにも誤動作してスパムを通してしまうことがあったため。

  • 「Keyword」で、スパムに頻出する用語を登録するのは bulknews.net でも紹介されているが、特にこれらを高スコアで排除するように設定オンラインカジノ関係の用語や、ダイエット・ED治療などの薬物の名前スコア4、いわゆる「お下劣系」用語をスコア5 として登録。
    更に、コメントスパムのメールアドレスやURLに頻出するドメインも登録(スコアはなし)。

  • 好みの問題で MTBanASCII は敢えて入れていない。

そして 「シリコンバレー 24時」が、当ブログで以前紹介していた「コメントスパムなんて大嫌い for MovableType 3.1」に残ったままになっていた、「名前」「メールアドレス」「URL」の値がプレビューに引き継がれないバグを『MovableType のスパム対策(11) 「コメントスパム対策(10)」』で解決してくださっていた。
(どのように解決してくださったかの過程に興味のある方は、同ブログの「MTスパム」カテゴリを丸ごとお読みになることをおすすめします。「シリコンバレー 24時」の四元さん、ほんとうにありがとうございます)

そこで、久しぶりに mt-comments.cgi にも手を入れて、隠しパラメータ入りフォームを復活させることにした。
まず、コメントフォームへの手の入れ方は「シリコンバレー24時」のものを参考にテンプレートなどをいじれば、プレビューも正常にできるものが使えるようになるはず。これは 3.1X の時代と同じ方法がそのまま使える。

そして mt-comments.cgi をいじる。9行目の「use strict;」の次から、キーワードの有無を判定する文を挿入する。

use strict; # 9行目。もとからmt-comments.cgiにある行
# addition against comment-spams
use CGI qw(:standard);
if ($ENV{'REQUEST_METHOD'} eq "POST") {
my $data = param('YOUR_FAVORITE_KEYWORD'); # コメントフォームで使ったのと同じキーワード
die unless ($data);
}
# end of addition
use lib 'lib'; # もとからmt-comments.cgiにある行

まだ導入して数時間しか経っていないので、効果についてまだ断言はできないが、いくつかのコメントスパマーには「SpamLookup」以前に門前払いを食らわせることができているのではなかろうか。

これらの対策で劇的な効果が現れたり、逆にこれらを突破するコメントスパムが増えた場合はまた記事を書こうと思う。

コメント (1)

namancha:

今朝未明にいくつかこれらの対策をかいくぐるスパムが来ていたものの、リンク先のサイトのドメインをNGワードに含めたところ、スパムがぱったり来なくなりました。
当面、基本的には以上の対策で様子を見れば大丈夫そうです。

それにしても「迷惑コメント」欄を見るのが最近ちょっぴり楽しみになりつつありますが(汗)
これってある意味○きぶ○ホイホイを覗いて喜ぶのと同じ?

* comments *

* trackbacks *

* Drecom RSS *