MovableTypeのスパム対策その2として導入したのが、人の手によらない(プログラムで投稿される)コメントスパムをブロックするプラグイン「MT-Keystrokes」です。プログラム投稿型のコメントスパムを防止する手段としてよく知られているのは「CAPTCHA」ですが、正直あれは嫌いなものでして。あれを入力しないとコメントできないブログにはコメントをためらってしまうくらいです。最近のCAPTCHAは読みづらいし、何より防止手段としてエレガントじゃない(笑) ちゃんと投稿ボタンが押されたことを判断すればいいのですから、あんな前衛芸術みたいな文字を眉間にしわ寄せながら解読する必要なんて、本来ないはずなんです。
その辺の基本に立ち返ったプラグインが、今回導入した「MT-Keystrokes」なわけです。プログラムを見るとやってることは実にシンプル。非常に好感が持てます。ただ、開発されたのがずいぶん昔なので、導入するには少々手間がかかります。何をしなきゃいけないかというと、
- プログラムをプラグインのディレクトリにインストール
- テンプレートにタグを埋め込んで、フォームのタグに修正を加える
- エディタを使って、バージョンチェックの部分をいじる
- 不必要な行をコメントアウトする
以上になります。
細かい導入手順は、いろいろな人が書いてらっしゃるのでここではリンク等の紹介だけにしておきます。
1、2、3については、まとめてこちらの記事に書かれています。MT6に導入する場合はバージョンをチェックしている部分の数字を「6」にしなければならないところがポイントです。
で、問題は最後の4。これ、知らずにかなりハマりました。3まで導入しただけだと、コメントがつけられなくなるバグが発生するのです。正確に言うと、「コメントが保留されました」というメッセージが出るのですが、実際にコメントはどこにも保存されないまま消失してしまうのです。このバグについて言及しているのがこちらの記事。細かい動作理由はMTのソースを見ないとわからないので省略しますが、要するに1行余計な部分があるのでそこをコメントアウトしとけ、ということです。MTのバージョンによってはこれをやらなくても動作するらしいのですが、今回導入したMT6.02ではダメでした。
そういうわけなので、動かすまでがちょこっと面倒なのですが、これと前に紹介した「NotJapaneseLookup」を合わせれば、人力で書かれた日本語コメントスパム(人件費かかりそうだなーw)以外に怖いものはなくなります。ふっふん。
ま、MTのスパム対策はこんなところでしょうかね。こんだけやっときゃ、もう大丈夫かと。