[wordpress] Akismetを暇にする現状で最強のスパム対策

WordPressのオーナーにとってコメントスパム/スパムトラックバックは悩みの種だと思います。

Akismetはコメントスパム/スパムトラバを検知してくれる優秀なプラグインなのですが、コメント/トラバを受けて発信元(IPなど)、内容等を精査する仕組みのため、どうしてもデータベースへのアクセスが発生してしまいます。ひとつひとつの負荷は微々たるものでも塵も積もれば何とやら。スパムによる負荷なんてないに越したことはありません。

2つのプラグインを導入する

肝となるのはakaさんに教えてもらった2つのプラグイン。

1つ目はWP-SpamFree。現在WordPressを対象にスパムを撒き散らすスパマーの多くがボットを利用してスパムを自動化しており、ボットの多くはJavaScriptとCookiesの両方には対応していないそうです。WP-SpamFreeはJavaScriptとCookiesが無効になっているとコメント不能にすることでボットからのスパムコメントを防御します。

ところが現在日本のケータイの多くはJavaScriptやCookiesを解釈することができないため、このままではケータイからコメントできなくなってしまいます(ここではiモードブラウザやOpenWaveブラウザのことを指しています。フルブラウザはJSもCookiesも解釈できることが多いようです)。対処策としては、ケータイからのアクセスの場合WP-SpamFreeを動作しないようにしてやればOKです。

僕はケータイからのアクセスをKtai Styleで表示させるようにしているので、WP-SpamFreeの28行目(先頭)にif(is_ktai()) return;と挿入してやりましたhiromasaさん、Thanx!)(Ktai Style Ver.1.10よりWP-SpamFreeのコード修正不要になりました。yurikoさん、Thanx!)

2つ目のプラグインはSimple Trackback Validation Plugin。ほかのサイトから飛んできたトラックバックをどのような基準で審査し、基準からすると不正なものをどう処理するか設定できるようになります。

simple trackback validation plugin setting

上のスクリーンショットはデフォルトの状態で、僕は不正なトラバ処理を「Mark as spam」にし(不正なものはakismetにたまるようになります)、「Add prefix [Blocked by STBV]」のチェックを外しました(このチェックが入っているといちいと投稿者名に[Blocked(ry」が入ってしまうので、問題ないトラバだった場合に消すのが面倒だからです)。きちんとそのページへの言及リンクが入っていなければ認めない場合は「Strictness」で、WPへのURLが入っていればいいかなという場合は「Any link beginning with the following URLs is allowed: 」を選ぶとよいと思います。ぼくは後者で様子見中。

驚くほどの効果

この対策をしてから約1ヶ月。この間にAkismetがつかまえたスパム、Akismetをすり抜けたスパムともにゼロとなりました。驚くべき効果です(…と書いていたら正常動作でmasayanさんからのトラバをSimple Trackback Validationが弾いてたみたいです。masayanさん、ごめんなさい…。ページへのリンクがないと弾いちゃうの(´・ω・`))

Akismetが空の画面というのもなかなか清々しいですね。ぜひお試しあれ。

暇そうなakismet

この投稿の“カテゴリー”: WordPress, ホームページTIPS 、タグ: , , , 。ブックマークは追加ブックマークにはパーマリンクをどうぞ。. コメントもしくはトラックバックをどうぞ: トラックバック URL.

4 個のコメント

  1. 投稿日時: 2008/2/25 月曜日、2:30:00 | パーマリンク

    WP-SpamFree のソースコードを見てみましたが、ktai_style.php の方が wp-spamfree.php より先に読まれること、WP-SpamFree が wpSpamFree という class の存在を確認していることから、Ktai Style で無理矢理 WP-SpamFree を機能停止させることは可能です。次期バージョン 1.10 に実装してみましょうか?

  2. 投稿日時: 2008/2/25 月曜日、21:06:57 | パーマリンク

    >yurikoさん
    おおー、もしktai styleのオプションで機能停止が可能であればとっても助かりますー。現状WP-SpamFreeにコードを差し込んでいるので例のごとくバージョンアップのたびにハックしなおさないといけないので…。

  3. 投稿日時: 2008/2/25 月曜日、22:15:11 | パーマリンク

    さきほどリリースした 1.10 で実装してみました。うまいこと動いているようです。本当ならば、WP-SpamFire 側で対応してほしいところですが、まあ仕方ないでしょうか。

  4. 投稿日時: 2008/2/26 火曜日、23:32:49 | パーマリンク

    >yurikoさん
    ありがとうございまーす!動作確認かねてコメント投稿。
    うまく動いているみたいですo(^-^)o

3 個のトラックバック

  1. ヒャッホイ!SPAMが来たYo! » エゾスタイル より、2008/3/17 月曜日、11:53:21

    [...] Akismetを暇にする現状で最強のスパム対策を参考にWP-SpamFreeと Simple Trackback Validation Pluginを導入 。 [...]

  2. [...] [wordpress] Akismetを暇にする現状で最強のスパム対策 @ Odysseygate.com [...]

  3. [...] [wordpress] Akismetを暇にする現状で最強のスパム対策 @ Odysseygate.com [...]

コメントする

あなたのメールは 絶対に 公開されたり共有されたりしません。 *マークは入力必須項目です。

*
*

次の HTML タグと属性が使用できます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <img localsrc="" alt="">