最強の対コメントスパム及び対トラックバックスパムの設定/プラグインの布陣を敷いてみる

以前はモンティパイソン並に Spam spam とやられていたわけですけど,御陰で,というか何というか,スパム対策の記事やテクニック,プラグインを読んだり試したりして対スパムの微々たる知識やテクニックを身に付け今まで来ました。ただ身に付けただけでは面白くないし,どうせ忘れてしまうので記事にまとめてみようかと思います。

この記事を読んで

烏除けのCD−Rぶら下げだとか,猫除けのペットボトル(水満タン)だとかそんなチャチなもんじゃあ断じてねぇ。
もっと恐ろしい Apache+mod_rewrite+PHP+JavaScript の片鱗を味わったぜ

とポルナレフなら言うかもしれません。
確証はありませんが…。

さて,では長い前置きはこれくらいにして。今使っているスパム対策用の設定/プラグインをご紹介しましょう。

  1. mod_rewrite を使ったリファラスパム対策
  2. .htac­cess に記述した ref­er­er spam 対策用のリファラ拒否リスト
  3. .htac­cess に記述した ref­ere spam 対策用の UA 拒否リスト
  4. Com­ments Post Rewriter
  5. Sim­ple Track­back Val­i­da­tion
  6. wp-trackback.php ハック版

Akismet も使ってはいますけれど,ほとんど予備です 😛
Autmattic!もっとばんがって。

ふと思いついたリファラスパム対策

以前書いた記事を参照のこと。特にコメント欄も。

.htaccess に記述した referer spam 対策用のリファラ拒否リスト

リストが厖大なので別途 bot 除けを施した上で紹介します。
dot_htaccess.zip
bot 除けにパスワードかけました
tegaki

.htaccess に記述した referer spam 対策用の UA 拒否リスト

これもリストが厖大なので別途 bot 除けを施した上で紹介します。
上のzipファイルに同梱してます。

Comments Post Rewriter

JavaScript と mod_rewrite を使用したコメントスパム対策プラグイン。多分,Akismet や SpamKarma2 よりも判定が厳しいです。コメントスパム対策専門のプラグインなのでトラックバックスパムに対しては無力。そのため,対トラックバックスパム用のプラグインとの併用は必須。

Simple Trackback Validation

受け取った track­back ping に自サイトの URI を含まない場合,

  1. モデレートにかける;
  2. スパムとして処理する;
  3. 削除する の3段階で処理できる;

対トラックバックスパムプラグイン。

自サイトの URI に関しても,

  1. 記事のURIがきちんと入っているかどうか(デフォルト)
    例えば http://example.com/archives/2006/12/49/test/
  2. ドメイン+特定のURIだけ入っているかどうか
    例えば http://example.com/archives/
  3. ドメインだけ入っていればいいかどうか
    例えば http://example.com

の3段階の設定ができます。

wp-trackback.php ハック版

これだけプラグインではなく,トラックバックに関してのオリジナルのファイル(wp-trackback.php)を置き換えて使います。

CPR の作者がどこからか拾ってきたものをさらにカスタムしたといっていたハック版の wp-trackbac.php: Yet anoth­er track­back-spam solu­tion…
gethostbyname6() の関数の部分を直したので,以前ダウンロードした方はダウンロードし直して下さいとの事(コメント欄参照)。Thanx Quix0r.

hiro­masaさんにソースコードを読んでもらったときに “これは面白い“といっていて,

トラックバックを送ってきたサーバの IP とトラックバックしてきてきた URLIP がいっしょじゃないと、SPAM か。
この if がキモですね。
gethostbyname6($host, true) == getenv('REMOTE_ADDR')

例えば,proxy 越しで track­back を打ってきた場合, track­back 元のIPアドレスと track­back 元のドメインが一致しないため,スパムと判断され track­back ping は破棄されるということらしい。

このような選人たちの知恵とスキルでコメントスパム,トラックバックスパム,リファラスパムからも完全に自由の身です。
なんらかの役に立てればこれ幸い。

aka Written by:

6 Comments

  1. 16. May 2007

    はじめまして。これ、こうやって訊いてしまっていいのかわからないんですが、dot_htaccess.zipのパスワードがどうにも正解できません。えーと、素直に読むと「エヌ(小)イコールゼット(大)イチニイニイアール(大)アンダーバージー(小)エックス(小)」なんですが、ちがうんですね?

  2. 16. May 2007

    いやあ、こうやって疑問を文章にすると冷静になるものですな。自己解決です。失礼しました。

  3. 16. May 2007

    お手数かけましてすみません。
    やっぱり分かり辛いなと思って画像差し替えました。

  4. 18. Jun 2007

    Hel­lo! Please redown­load the lit­tle hack which I have mod­i­fied. The required func­tion gethostbyname6() which I took from the PHP doc­u­men­ta­tion com­ments are miss­ing in that hack. I have just copied it in my-hacks.php but not in the hack. :$

    Thanks for announc­ing my hack. 🙂

  5. 18. Jun 2007

    Quix0r
    Hi, thanks for noti­fy­ing me your work!
    It kicks track­back spam out my blog 😉 woohoo!

Comments are closed.