2004年8月27日

Comment Spam対策

4日ぶりに仕事から戻ってきて、メールをチェックすると「MTのコメントが着ましたよ」メールが100通ほど届いていた。またまたコメントスパム。最近、仕事から帰ってくるたびにスパムが増えていたのだが(前回は50通程度)、さすがに何とか対策を採らねば、ということで探してみたら以下のようなものが見つかった。

http://weblog.burningbird.net/archives/2002/10/29/comment-spam-quick-fix
このサイトを参考にさせていただいた。

Fixの概要としては、コメントにある文字を自動的に挿入して、mt-comments.cgiがその文字が含まれているかどうかをチェックし、含まれていなければエラーとしてエラーログに書き込まれるらしい。とにかくこれを試してみる。

方法は、まず次のテンプレートを改良する。
Individual Date Entry
Comment Listing Template
Comment Preview Template
Comment Error Page

これらの</form>の間に
<input type="hidden" name="snoop" value="goaway" />
を挿入する。nameとvalueの部分は自分の好きな言葉に置き換えてよし。スパムに使われないような言葉がいいと思う。終わったら、Rebuildをする。

次に、mt-comments.cgiを改良する。
use strict;
の次の行に以下を挿入。

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

これをUploadすると終了。コメントが正しく書き込まれることを確認したら成功です。

これでうまくいくのか。数日見守りたい。ではいまから100件のスパムコメントの消去に取り掛かる。

トラックバックURL

このエントリーのトラックバックURL:
http://krbys.net/cgi-bin/mt4/mt-tb.cgi/168

コメントする

(初めてのコメントの時は、コメントが表示されるためにこのブログのオーナーの承認が必要になることがあります。承認されるまでコメントは表示されませんのでしばらくお待ちください)