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行目(先頭)に(hiromasaさん、Thanx!)(Ktai Style Ver.1.10よりWP-SpamFreeのコード修正不要になりました。yurikoさん、Thanx!)if(is_ktai()) return;
と挿入してやりました
2つ目のプラグインはSimple Trackback Validation Plugin。ほかのサイトから飛んできたトラックバックをどのような基準で審査し、基準からすると不正なものをどう処理するか設定できるようになります。
上のスクリーンショットはデフォルトの状態で、僕は不正なトラバ処理を「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が空の画面というのもなかなか清々しいですね。ぜひお試しあれ。
“[wordpress] Akismetを暇にする現状で最強のスパム対策” への8件のフィードバック
WP-SpamFree のソースコードを見てみましたが、ktai_style.php の方が wp-spamfree.php より先に読まれること、WP-SpamFree が wpSpamFree という class の存在を確認していることから、Ktai Style で無理矢理 WP-SpamFree を機能停止させることは可能です。次期バージョン 1.10 に実装してみましょうか?
>yurikoさん
おおー、もしktai styleのオプションで機能停止が可能であればとっても助かりますー。現状WP-SpamFreeにコードを差し込んでいるので例のごとくバージョンアップのたびにハックしなおさないといけないので…。
さきほどリリースした 1.10 で実装してみました。うまいこと動いているようです。本当ならば、WP-SpamFire 側で対応してほしいところですが、まあ仕方ないでしょうか。
>yurikoさん
ありがとうございまーす!動作確認かねてコメント投稿。
うまく動いているみたいですo(^-^)o
[…] Akismetを暇にする現状で最強のスパム対策を参考にWP-SpamFreeと Simple Trackback Validation Pluginを導入 。 […]
[…] [wordpress] Akismetを暇にする現状で最強のスパム対策 @ Odysseygate.com […]
[…] [wordpress] Akismetを暇にする現状で最強のスパム対策 @ Odysseygate.com […]
[…] Odysseygate.com […]