SPAMコメント対策

最近やけに、SPAMコメントが多くなってきた。日に日にジワジワ増え、最近では日に10数件。MovableTypeの最新バージョンでは、同一IPからの不自然な連続投稿はブロックされるようになっているが、ちょこちょこIPを変更して打ってくるので、それも効かなくなっているようだ。シコシコ一つ一つ手動で削除、禁止IPに登録、という作業を繰り返してきたが、さすがにもうやってられねぇ。対策を打つことにした。打った対策は以下で紹介されている方法。

これにちょこっとアレンジを加えて適用。アレンジに意味があるのかは不明だが。

まず、以下のTempleteを修正する。

  • Individual data entry
  • Comment Listing Template
  • Comment Preview Template
  • Comment Error Template

それぞれの</form>タグの上に、以下のタグを追加して再構築。

<input type="hidden" name="snoop" value="goaway" />
<input type="hidden" name="dummy" value="dummy" />
<input type="hidden" name="spamnanka" value="iranexe" />
<input type="hidden" name="korega" value="honmono" />

上記リンク先で紹介されている方法では一行目を追加するのみだが、なんとなくダミーを加えてみた。今回は4行目が本物。

次に、{MT_HOME}\mt-comments.cgiを編集する。use strict;の下に以下の記述を追記する。

use CGI qw(:standard);
if ($ENV{'REQUEST_METHOD'} eq "POST") {
my $data = param('korega');
die unless ($data);
}

で、アップロードして終わり。

手順としてはここでの記述どおり、Templeteを編集して再構築しておいてから、mt-comments.cgiを編集した方が良いと思う。余計なパラメーターを送ってもコメントは投稿できるはずなので、コメント投稿できなくなる時間というのが無い。逆に、先にmt-comments.cgiを編集してアップロードしてしまうと、コメント投稿出来ない時間ができてしまう。たぶん。

というわけで、これからこのエントリーにコメントを投稿し、動作確認するのであった。

<追記>
コメント投稿でけまひた。いかった。これでSPAMは減るよね、たぶん……。どこかで「既にhidden属性に対応したスパマーが」と書かれているのを読んだので、またすぐに追い付かれる気がするけれども。ども。

<更に追記>
SPAM来ました……。このエントリー投稿したのが18:33、SPAMが20:42。僅か2時間ばかしの夢でした。グスン。他の対策を考えないといけないのか……。


<更に更に追記>
というわけで、別の対策を施しました。
talk to oneself 2: コメントSPAM対策その2