コメントスパム対策スクリプト

先日書いたコメントスパム対策を公開します。この対策をしておけばとりあえずの間はコメントスパムを受けなくなるでしょう。

もちろんですが、このサイトを参考にして生じたいかなる損害についても責任を負いませんので、自分の責任で行ってください。以上を踏まえた上で参照してください。

動作確認はMovable Type 3.01D-jaで行いました。PerlMagickが必要ですのでない方はインストールしてください。

まずkey.plをMTのルートディレクトリにコピーします。これがイメージを作ったり認証したりするスクリプトになります。次にmt-comments.cgiのuse strict;の行のすぐ後に以下を追加します。

use CGI qw(:standard);

require 'key.pl';
if ($ENV{'REQUEST_METHOD'} eq "POST") {
&run(param('key'));
}

そしたら、最後にコメントテンプレートを編集して、form内に以下を追加します。
<img src="./pass.gif">
<label for="key">KEY:</label><br />
<input tabindex="3" id="key" name="key" /><br /><br />
これで一応完了です。MTのルートディレクトリにイメージファイルをキーファイルをスクリプト中で生成するので、該当部分をApache実行ユーザが書き込めるようにしておいてください。

簡単なスクリプトなんで比較的簡単に変更できると思います。出力する画像の色とかフォントとかいろいろ変えてみてください。