朝起きてブログを開いたら、なんと新規コメントが200件以上!スパムだ…orz
こんな寂れたところまでやっては来ないだろうとたかをくくってて、何のスパム対策もとってなかったので、慌てて防止策をほどこしました。
スパム防止には
- 全角の「。」や「、」を一つも含まないコメントはスパムとみなす(スパムはほとんど欧文)
- コメント関連のcgiプログラムの名称をリネームする
- コメント投稿を認証制にする
など、いろいろあるんですが、今回参考にさせてもらったのは針中野ミュージックのコメントスパムなんて大嫌い for MovableType 3.1。
コメントフォームにダミーの変数を追加して、その変数と一緒にコメント用CGIを呼び出さないとコメントできない設定にする。
というものです。多くのスパムコメントが、コメントフォームから投稿されるのではなくてmt-comment.cgiを直接動かして機械的に投稿されていることから、正規のコメントフォームから投稿されていない場合はエラーが生じるよう、プログラムを書き換えてやるんですね。
具体的な方法は
- コメントフォーム用に、変数を埋め込んだ新たなモジュールを作成する
- コメントリスト・コメントプレビュー・コメントエラーの各テンプレートに、作成したモジュールを読み込ませる
- 個別アーカイブのテンプレートのコメント投稿部分に、変数を埋め込む
- mt-comment.cgiを一部書き換える
という手順になります。
手順がとても丁寧に紹介されているんで、順を追っていけばそんなに難しくなく導入できると思います。
これでうまく防御できるといいんだけどな。
あんまり手のこんだスパマーが現れないことを祈りまつ…