コメントスパムを弾き出せ
雑念ベースさんの記事にあるように、セキュリティソフトによってはリファラを送ってくれないこともあるそうなので、そういう方も弾いてしまうやも。
ここ数日、ボット達の活動が賑やかですね。どこかのお国のスパマーが世界中に伝染させたゾンビを目覚めさせたのでしょうか?SpamKarma殿が頑張ってくれているのでほとんどは防いでくれているので表面上は問題ないのですが、アクセスログを見ると、[tegaki]wp-comments-post.phpを直接叩かれまくっている[/tegaki]ことに気が付きました。
htaccessで門前払いに!
最初はdenyコマンドを使えばいいのかなと思っていたのですが、deny from allとしたら何もかも弾いてしまったので(笑)、検索してみたところ、本家のコーデックス(Combating Comment Spam/Denying Access « WordPress Codex)にちゃんと対策方法が載っていました。それを参考に少しだけ手を加えて、以下のようにしてみました。
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
RewriteCond %{HTTP_REFERER} !.*ブログのドメイン.*
RewriteRule (.*) http://%{REMOTE_ADDR}/
Rewriteを使っているので、パーマリンクが設定できないサーバでは使えないないのかもしれません。これは、「POSTでデータが送信され、リクエストURLにwp-comments-post.phpを含み、リファラにブログのドメインを含まない場合、自分のIPに叩き返す!」という処理をしています(多分)。健全なコメントにはコメントをつけようとしている記事のリファラを持っているので、引っかかることはありません。これで少しでもスパムが減るといいなぁ・・・。
RewriteについてはApache : mod_rewriteリファレンス - Flash/Web Application Weblog Directoryが参考になると思います。
プラグインのせいでエラーが出ていました。。。スミマセン。
コメントする
http://bleu.raindrop.jp/2006/12/12/vs-comment-spam/You must be logged in to post a comment.
TrackBack URL
Trackbacks (2)