Movable Type トラックバックスパム対策

  • 投稿日:
  • by
  • カテゴリ:

IISのログを見てると、結構トラックバックスパムが多いことがわかる。トラックバックの要求が短時間に大量に来ると、瞬間的にメモリ消費量が増えることもあるのか、ここ最近、仮想メモリ不足に陥ってファイルを拡張し始めたまま固まるという現象が2回ほど起きていた。原因がトラックバックスパムとは言い切れないものの、歓迎されない無差別なトラックバックはリクエストの時点で排除したいものだ。
これでWebサーバーがApacheだったら、ログを解析して、特定のユーザーエージェントからの要求を拒否するようにできるんだけど、IISの場合は、単体ではそういうルールを設定できないのが厳しい。市販されているISAPIフィルタなら、かなり高度な設定でフィルタリングできるんだけど、$200くらいするものがあったりして、簡単に試せるものも少ない。そこで、買えないなら作ればいいということで、自分が求める最低限の機能のみを実装したISAPIフィルタ(DLL)を作ってみた。

MovableTypeの場合、トラックバックスパムを送りつけてくるエージェントはOperaやMozillaを名乗るものも多いけど、snoopyとかTrackBackっていう名前のがちらほら目に付く。何の工夫もなしに自分がスパマーだと宣言するヤツらから手始めに拒否した。動作確認のためにMozillaもはじくようにしてビルドし、実際にIEからアクセスしたときにアクセスできないことを確認してから本来の設定で再度ビルド。恐らく大丈夫だろう。DLL内部でメモリ確保もしてないんで、リークすることもないだろうし。とりあえず、この状態でしばらく動かしてみて、ログを見ながら機能追加していくことにしよう。