昨年12月から海外からのコメントスパムが多数寄せられれようになった。(1日10件〜20件程)他のMovable Typeユーザーのコメントスパム対策エントリーを読んでいて、いつか自分もそれに対応するようにしなければと思っていたが、結構早くも対応する羽目になった。
コメントスパム対策もいくつか方法がある中、今回選択した方法は、MT-Keystrokesというプラグインを使っての対策。Movable Type-投稿者のコメントだけをハイライトにする方法 で、たまたま参考にした37signalsのブログA design and usability blog: Signal vs. Noise (by 37signals)のソースを覗いた時に、MT-Keystrokesというプラグインタグを見つけ、コメントスパム対策にこのプラグインがあることを知りました。
導入して翌日から、一切のコメントスパムも受け付けていません。調子いいです。導入・設置も簡単なのでおススメです。
hr>MT-Keystrokesプラグイン
- MT-Keystrokes
- http://overstated.net/projects/mt-keystrokes/
コメントスパムはロボットを使って直接cgiに呼びかけて投稿するようです。(詳しくはわかりません。)このプラグインは、直接人が投稿ボタンを押さないことには、コメントを受け付けないようにするためのものです。
このプラグインを導入することで、購読者にも手間をかけさせることなくコメントスパム対策ができるようになります。(他の方は、いろんな認証などをコメント投稿時に要求するようにしていますが、そういった手間は必要ありません。=ストレスがありません。)
Movable Type3.0以上のバージョンには対応しているようです。(詳細は、配布サイトに確認してください。)
静的ページ生成や動的ページ生成の両方に対応しています。
導入・設置
今回わたくしのブログは、静的ページにて生成していますのでそちらの導入・設置方法について紹介しておきます。
上記サイトにて配布されているファイルをダウンロードします。
ファイルをプラグインフォルダに追加
解凍したフォルダの中にあるkeystrokes.plファイルをお使いのMovable Typeプラグインフォルダ(plugin)の中にアップ(追加)します。
コード追加
エントリー・アーカイブの中のコメントフォーム以下のコードの中に指定コードを追加します。
<$MTKeystrokes$>プラグインタグ追加
<form>のすぐ後に<$MTKeystrokes$>を追加します。(デフォルトのアーカイブテンプレートを使ってコード追加部分を表示させておきます。下記参照)
コメント入力テキストエリアにコード追加
<textarea id="comment-text" name="text" rows="15" cols="50">にonkeypress="keystrokes(this.form)"を追加します。
投稿ボタンにコード追加
<input type="submit" accesskey="s" name="post" id="comment-post" value="投稿" onclick="keystrokes(this.form)" />
上記の3点のコード追加することでコメントスパム対策ができます。
追記2007/5/28
コメント投稿→確認ボタンを押してしてからのプレビュー表示からの投稿が反映されませんのでコメントプレビューテンプレートにもコード追加ください。
テンプレート > コメント・プレビューとなります。
その他のコメントスパム対策
- 私のコメントスパム対策 - Ogawa::Memoranda
- http://as-is.net/blog/archives/000961.html
- Captcha Plugin 0.11a公開 - Ogawa::Memoranda
- http://as-is.net/blog/archives/001169.html
- MT-Blacklist - A Movable Type Anti-spam Plugin
- http://www.jayallen.org/projects/mt-blacklist/
- コメントスパム対策 :小林Scrap Book
- http://blog.heartlogic.jp/archives/000230.html
- MTのスパム対策 - リファラでフィルタ [dh's memoranda]
- http://uva.jp/dh/mt/archives/005017.html
- 小粋空間: SCode プラグインでコメントスパムを制限する(その1:基本設定)
- http://www.koikikukan.com/archives/2006/04/17-011020.php


「投稿ボタンにコード追加」の項が、ビミョーの書き間違えているようです。参考ソースを見ればわかりますけれども、念のため小さい声で報告します。
>PhotoPierreさん
はじめまして、コメント・TBありがとうございます。教えてくれてありがとうございます。
気をつけま〜す。
これ、効きますねー。
フツーのコメントまではじかれちゃってるんぢゃないの!? と思うくらい、カンペキです。
いつ破られるか楽しみです。
>PhotoPierreさん
前回はありがとうございました。そうですね。とっても効くようで、導入する方が増えています。紹介してよかったなと思っています。ではではこれからもよろしくお願いします。
友人のサイトでこのスパム対策を知りました。JavaScript対応ブラウザが必須になりますが、確かに強力そうです。
ところで、コメント投稿フォームから確認を押した場合は「テンプレート - システム - コメント・プレビュー」のテンプレートが利用されるため、スパム対策に引っかかってしまうような気がします。
(といいますか、本件のスパム対策をした友人のサイトでコメントが投稿できないので、調査をしていて問題に気がついたというのが正しいのですが。)
お時間があればご確認ください。
それから、この後確認フォームを通して投稿してみるつもりです。投稿できちゃったらごめんなさい。
mt-strokesを導入したのですが、なぜか投稿を押すとコメント確認ページが出てきて投稿ができません。
直す方法を教えてください。
>TGBT
コメントご返事送れて申し訳ありませんでした。原因がわからなく、対処方法がちょっとわからないといったところです。確認ページからのコメント投稿ができないといったことになるのですかね。ちょっといろいろと試してみます。
追記:
わかりました。確認のボタンを押してからは、コメント投稿ができないみたいですね。その場合もコメントプレビューにも同じようなコードを追加する必要がありますね。このことを追加エントリーで説明してみますね。ご報告感謝します。
>いいこ
ちょっと原因がわからないですね。もう少しMTの状況など原因を細かく教えてもらえるとたすかります。よろしくです。
尚、確認ボタンから投稿内容プレビューしてからといった動作を想定する場合は、コメントプレビューのテンプレートにも同じコードを追加する必要があります。
それか確認ボタンのコードを排除してみてもいいかもしれません。
投稿ボタンからは普通に投稿できますよ。
こんにちわ。
投稿ボタンを押すと、コメント・保留のテンプレートが出てきて投稿できません。
しかし、確認ボタンを押してから投稿ボタンを押すと投稿できる状態です。
今までは、投稿ボタンを押せば普通に投稿できました。
>いいこさん
お疲れ様です。プレビューからの投稿を反映するために以下のように追加カスタマイズしてください。
テンプレート > コメント・プレビュー
コメント・プレビューのテンプレートにも同じようにコード追加願います。
多分それで対応できると思います。よろしくおねがいします。
ちなみにこのコメント投稿もそのように追加してから投稿してみました。ちゃんと投稿されていましたのでそれで大丈夫です。よろしくおねがいします。
>スカイさん
やはり駄目なようです・・・。
>いいこさん
お疲れ様です。原因がわからないですねあとは、テンプレートでの投稿ボタン部分のタグが間違っているみたいなことありませんでしょうか?各inputのid属性が間違っているとか?調べてみてください。ちょっとそれでもダメな場合は、私のほうでも実際のテンプレートなどをいじくってみないと対処できないです。
別のブログを新規作成してみて、それでポストできるかどうか?同じ現象が起きるかを確認してみるといった感じで試してみてください。
それでも不具合が起きる場合は、デフォルトに戻すしか方法がないような気がします。がんばってみてください。
すごいです。
アルファベットだらけのスパムコメントが、きれいさっぱり送られなくなりました。
実は私も「いいこさん」同様の症状で上手くいかなったのですが、デフォルトで入っていて使っていないプラグインを一旦「利用しない」にしたところ上手くいきました。ただ不思議なのは、その「利用しない」にしたプラグインを全部「利用する」に戻しても今のところ問題なく動作してます。
>ウエダさん
コメントありがとうございます。いいこさんにお伝えしておきます。
本当にいい情報ありがとうございました。今後ともよろしくお願いいたします。
とても良いものをご紹介いただきました。
ありがとうございました。
これ本当に効きますね。
スパムが多い日だと1,000件を超えていたので、もうそろそろサーバー屋さんから怒られるかな〜
と、ドキドキしていたところでした。
>mazさん
はじめまして、コメントありがとうございます。お役に立てるエントリーを発信できてよかったです。お仕事がんばってください。
ではでは
はじめまして。
簡単に導入出来るスパム対策を探していて辿りつきました。
とても分かりやすい説明ありがとうございます。
おかげ様で、無事に導入出来ました。
投稿ボタンを押すと、コメント・保留のテンプレートが出てきて投稿出来ないという状況、私もなりました。
が、BLOGをPHP化しているのでプラグインに含まれているphpフォルダの中身をサーバーにアップロードしたところ、無事にコメントが投稿出来るようになりました。
他に同じような状況の方がいたら参考になるかもしれないと思い、書き込ませて頂きました。
>みんさま
お疲れ様です。わざわざコメントご報告ありがとうございます。
なかなか調子いいですよー。
最近は、OpenIDなども広く知れわたってきている。また、そうしたAPIを導入しているサービスサイトが増えてきていることを考えると、ゆくゆくはこの回避パターンも使わなくていいかもしれないですね。
今後ともMT関連の情報交換よろしくおねがいいたします。ではでは
うっかりMT4にしたら
動かなくなって
なんだかガッカリです。
(そして、コメントスパム復活中)