« WindowsXP再インストール | メイン | 甲状腺機能亢進症 »

2005年05月28日

MovableType改造「コメントスパム対策2」

前にやった対策、「コメントフォームにhidden属性で適当な値を入れておいて、mt-comment.cgiがそれをチェックする方法」が効いていたのかどうか、しばらくおとなしくなっていましたが、今日、大量のスパムを受けました。

この方法は、直接mt-comment.cgiをアクセスしてコメントするロボットの対策で、フォームからの投稿以外は受け付けなくするものです。
したがって、コメントフォームからの投稿ならばはじいてくれません。

スパマーさんも、コメントフォームからわざわざ書き込んでいるわけですね。ご苦労さんなことです。

更に、この方法には問題があることがわかりました。
投稿前に「プレビュー」→「投稿」をやると、はじかれます。
プレビューで表示されるフォームに、hidden属性で設定した値が反映されないからです。
「コメント・プレビューのテンプレート」を見ると、このプレビューで表示されるフォームはMTのタグで書かせているようで、簡単には対策できません。

追記
このMTはウェブログの設定で、「コメントが登録されたら通知する」にしているのですが、今回のコメントスパムは、通知メールが届きませんでした。

と言うことは、これはロボットによるスパムですね。
hidden属性の値を与えてロボットを防止する方法(かなり有名)もスパマーさんにネタバレしてしまったようで、おそらく、ロボットにその値を設定しているのでしょう。
この方法で対策するには、複数の値を設定するなどの方法が必要です。

と言うわけで、今後、スパム対策に関しては、タグを公開するのはやめます。

さて、今回とった対策とは、

実は、元々MovableType には、defaultで使っていないスパム防止の対策があります。
よく、BBSにある、連続投稿を禁止するタイマーも入っています。
今回は、これを設定しました。

mt.cfg の # ThrottleSeconds 20 がそれです。
先頭の #[ブランク] を外して、20(秒)を適当な数字に置き換えるだけです。
これを60秒にしました。
最初の一回はしかたないとして、1分待ってまた投稿する暇なスパマー以外はシャットアウトできるはず。

とりあえず、前回の対策は元に戻して、このタイマーだけで効果を見ます。

書き換えたら、mt.cfgの属性は、400にしておきましょう。
defaultの644だと、誰でも中身が見えてしまいますよ。(ためしにブラウザから あなたのブログのURL/mt/mt.cfg と打ってみてください。)

この他、投稿内容にダブルバイト文字(かな漢字ですね)が一定数以上ないと投稿を受け付けない、と言う方法もあるようです。(試しましたが、うまく動きませんでした。もう少し調査中)

この方法については、fromshun(ブログ)で紹介されています。

投稿者 suzuki : 2005年05月28日 03:01

▲このページ [ MovableType改造「コメントスパム対策2」 ] の先頭へ
◀前のページに戻る

トラックバック

このエントリーのトラックバックURL:

コメント

コメントしてください

記入された内容はそのまま公開されます。公開を希望されない項目は記入しないで下さい。




保存しますか?