Movable Type
コメントスパム対策を強化したら、コメントスパムが巧妙化したのでダメ押し対策をしてみました。
前回のエントリーで施した、トラックバックURLとコメントURLを実体参照文字化するスパム対策は、かなり有効で、トラックバックスパムに関しては、10割り駆逐に成功しました。ただし、コメントスパムは、少量ですが抜けてくるものがあり、標準のスパムフィルターで止められている為、気にしなければ問題ないレベルだったのですが、上記のスパム対策を施した直後から急に巧妙化したんですヨ。2バイト文字を含ませ、aタグを外した上に、直接フォームから送り込んでくるという、感心するぐらい手の込んだやり方でチマチマと送り込んで来るようになったんです。
もう、スパム対策はいいかなと思っていたのですが、なんか腹立ってきまして、スパムの量が多い時に、いちいち登録なんか出来ないと思って導入しないままだったスパム対策プラグインを、スパムの数も減った事ですし、導入することにしました。
「The blog of H.Fujimoto」さんの「コメントスパム送信者にコメントをさせないようにするプラグイン」エントリーで公開されているプラグイン「KnockoutSpammer」です。このプラグインは、一度受けたスパムのIPアドレスをブラックリストに登録してアクセス制限を設定、次にスパムボットがそのIPアドレスを使用してアクセスして来てたら、Movable Type(以下MT)のシステムを介さず、直接エラーを返して、スパムボットにサイトがネット上に存在しないように見みせかけるのですヨ。
システムを介さないので、サーバーに負荷がかかる事がないので、スピードが遅くなることもないのが良いです。ただし、MT3.2以降専になっていて、アクセス制限の処理はPHPで行うので、ページがPHP化されているのが前提です。
というわけで、いつもの通り、覚え書きを兼ねて設置手順を書きます。
まずは、プラグインの設置。
- まず、こちらから、「KnockoutSpammer」プラグインをダウンロードします。
- 圧縮ファイルを解凍すると、「KnockoutSpammer」というフォルダが出来ます。
- 「KnockoutSpammer」フォルダを丸ごと「Movable Type」のPluginsディレクトリにアップロードして下さい。
- 終わったら、「KnockoutSpammer」ディレクトリの中の「mt-knockout-spammer.cgi」のパーミッションを705や755とかに設定します。
- ブラウザーからシステム・メニュー の管理画面に入り、プラグインの項目で「KnockoutSpammer」が表示されていたらインストール成功です。
次に、スパムボット向けのテンプレートを設定します。
- テンプレートに入り、インデックステンプレートを表示します。新規でテンプレートを作り下記の設定を行います。
- テンプレート名を「KnockoutSpammer」にします。
- 出力ファイル名を「knockoutspammer.htm」にします。
- 「インデックス・テンプレートを再構築するときに、このテンプレートを自動的に再構築する」のチェックはオフに設定します。
- 下記の内容を入れます。
<$MTKnockoutSpammer$>
フォームのあるテンプレート(主にエントリー・アーカイブ)に、スパムボットを弾くためのPHPスクリプトを、先頭に1行設置します。
<?php include('<$MTBlogSitePath$>knockoutspammer.htm'); ?>
テンプレートを保存して、全ページを再構築すれば設置は完了です。
使い方は、「The blog of H.Fujimoto」さんの「コメントスパム送信者にコメントをさせないようにするプラグイン」エントリーを見ていただくとして、ほぼ1クリックで簡単に禁止IPを設定できるのでとても使い易いです。ただ、LOLIPOP!の場合、サーバに必要なモジュールがインストールされていなくて、一括登録した時の画面が文字化けしてしまうんですヨ。ちょっと見苦しいですが、動作自体はきちんと行われているので、使う分には問題ないです。
とりあえず、自分とこの場合、他のスパム対策プラグインのお陰で、残っているのは悪質なスパマーのボットだけになっていたみたいで、20件ほどの禁止IP登録で、現在、全てのスパムを駆逐する事に成功しています。今後IPを変えてスパムを送り込んできても、登録する件数自体は少ないと思うので楽に作業できそうです。しかし、「迷惑コメント」「迷惑トラックバック」で、「迷惑コメントは見つかりません。」「迷惑トラックバックは見つかりません。」という文言しか表示されないって言うのは気分が良いモンですなぁ。
スパム対策最後のダメ押しという意味では、かなり有効なスパム対策プラグインだと思うので、是非導入してみて下さい。