スパムコメント、スパムトラックバック対策

「ハンチング、全然スパム来てないみたいでいいですねー」なんてメールもらったんだけど、いや、思いっきりスパム食らいまくってるですよ。スパムコメントも以前からかなり来てるし、最近のMTスパム界隈じゃ有名なオンラインポーカー様から30分間に100発近いトラックバックを頂いたりとか、素晴らしい状況に遭遇しましたですよ。ラッシュテストしてんのかよ!ってくらいの量。

さすがに1つ1つ消してるのも膨大過ぎて手に負えなくなってきたので、対策をいくつかしたんですよ。んで、それの効果であんまりスパムされてるように見えないって話。

対策内容は有名どころの対策TIPSを参考に、MTに改造を施したものです。コメントの半角英数記号飲みエラーチェック、トラックバックの半角英数記号のみエラーチェック、それと、コメント、トラックバックのNGワードチェックプラグインの3つ。

コメントスパム対策 :小林Scrap Book
そこで、日本語が含まれていないコメントは弾くという、より強力かつ日本ローカルなスパム対策がこちらです。
Bianca: BiancaのTrackBackSpam対策【トラックバックスパム対策】
「概要が半角英数字のみのTrackBackは拒否する」という意味になります.これで海外から来るTrackBackを退治できるはずです.
Ogawa::Memoranda: Quasi-Spam Filter Plugin
コメントスパム受信時、トラックバックスパム受信時のリアクションを複数サポートする、スパムフィルタプラグインです。
最後のフィルタプラグインは指定文字列の入ったコメント、トラックバックをフィルタリングしてくれるプラグインです。プラグインソースをUTF-8で保存してあげれば、日本語文字列もフィルタ対象になります。(スパム先からのトラックバックXML内容がUTF-8にエンコードされて無いと効かないかもしんないけど。)

また、記事最後にも書かれてますが、このプラグインはMT3.1以降用に作られているのですがフィルタ対象文字列検出後の振る舞いを限定すれば、MT2.x、3.0でも利用できます。ハンチングのMTもいまだにいにしえの2.661を利用しているので、振る舞いをCommentError、TBPingErrorとして利用しています。

フィルタ文字列なんですが、自分が設定してるものをここで紹介しておこうと思ったんですけど、スパミングなヤングメンにチェックされて該当文字列変えられちゃってもナンなんで、残念ですが書くのはやめときます。サイトですでに食らったことある内容から、適当な文字列をいくつかピックアップすれば言いと思います。最初にも書いた有名スパマーな「オンライン(英語小文字)」とか「ポーカー(英語小文字)」とかは必須そうですな。

それと、上記で紹介した各MT改造コードはそのソースコードご自身のサイトとかに貼り付けて紹介しないほうがいいと思います。紹介する場合は全部全角文字で書くとか。そうしないとスパム業者もどういう回避策取ればいいかコードから解析できちゃいますから。

あくまでもスパムが表示されない、ページに反映されないってだけでアクセス自体を切ったわけではないのでサーバ負荷は少なからずかかってしまうのはしょうがない点なのかもしれないですが、何も対策せずに反映されて、それをこまごま消していくCGI負荷のほうが断然大きいでしょうし、それ以上に手間がハンパ無くかかりますから、スパム受けた経験のあるMTユーザの方は重い腰上げてがんばってトライしてみてくださいな。

あ、そうそう。以上の対応策って前提として、スパム業者以外の書き込みやトラックバックにも適用されちゃうので、英語でコメント、トラックバックをもりもり貰う人とか、フィルタ指定した文字を入れたスパム以外のコメントやトラックバックもエラーとして処理してしまいますので、その点は注意してくださいませ。

【その他のスパム対策関連】
・きままにポロポロ: コメントスパム ひらがな対策
(コメント内容に全角文字だけじゃなく、「連続したひらがなが必要」という条件も追加されてるコードが紹介されてます。)