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
トラックバック
このエントリーのトラックバックURL: