Google Crisis Response(Google)
災害に関する情報源や、行方不明者情報の収集と検索を行う『パーソンファインダー』を初めとするツールの提供が行われています。

2006年12月28日 木曜日

コメントスパム対策

Filed under: WordPress
時間:22時27分
投稿者:よしとも
AddClips 経由でソーシャルブックマークに登録

 ブログサイトをふらふらしていたら、気になる記事を見つけました。

 ここ数日、ボット達の活動が賑やかですね。どこかのお国のスパマーが世界中に伝染させたゾンビを目覚めさせたのでしょうか?SpamKarma殿が頑張ってくれているのでほとんどは防いでくれているので表面上は問題ないのですが、アクセスログを見ると、wp-comments-post.phpを直接叩かれまくっていることに気が付きました。

 さっそくサーバー会社のサービスでアクセスを確認してみると、アクセスランキング1位が wp-comments-post.php !

 上記の記事では Apache の Rewrite を使った対策を紹介しています。コメントの投稿は記事ページから POST で送信されるのが本来の形ですが、スパムの場合は記事ページを飛ばして直接アクセスしているようです。この違いを利用した次のコードが掲載されています。

  1. RewriteEngine On
  2. RewriteCond %{REQUEST_METHOD} POST
  3. RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
  4. RewriteCond %{HTTP_REFERER} !.*ブログのドメイン.*
  5. RewriteRule (.*) http://%{REMOTE_ADDR}/

 参考にしたという Codex のコードは、恐らくこれだと思います。

  1. RewriteEngine On
  2. RewriteCond %{REQUEST_METHOD} POST
  3. RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
  4. RewriteCond %{HTTP_REFERER} !.*yourdomain.com.* [OR]
  5. RewriteCond %{HTTP_USER_AGENT} ^$
  6. RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]

 どちらも、直接アクセスしてきていたら送り返すという点は一緒です。
 Codex のほうは、リファラが正しくてもユーザーエージェント情報が得られない場合はスパム扱いにするという点(4~5行目)と、送り返すときのステータスがデフォルトの302(一時的なアドレスの変更)ではなく301(恒久的なアドレスの変更)になるようにしている点(6行目)が違います。後者の記述は、次回のスパムアクセスの時に実際のサイトを見に来なくなるという効果があります。

 さて、セキュリティソフトの中にはリファラをカットしてしまうものがあります。また、同じ機能を実装しているブラウザもあります。カットされた場合は4行目のところでスパムと判定されてしまうため、そのパソコンからはコメントの書き込みができません。これでは困りますので、リファラが空の場合はスパム扱いしない処理が必要になってきます。次のコードを4行目に入れればいいかと思います。

  1. RewriteCond %{HTTP_REFERER} !^$

 ただ、スパムコメントを行うプログラム(通称ロボット)がリファラをちゃんと返すのかという問題があります。恐らく返さないでしょう。すばやい動きをするために、なくても困らない処理は初めから入れていないはずです。少なくとも、私だったら入れません。

 試してみましたという内容にするつもりだったのですが、袋小路に自分から飛び込んでしまったようです。効果を期待しないで試してみます・・・。
 試すコードは、次のようにしました。

  1. RewriteEngine On
  2. RewriteBase /
  3. RewriteCond %{REQUEST_METHOD} POST
  4. RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
  5. RewriteCond %{HTTP_REFERER} !^$
  6. RewriteCond %{HTTP_REFERER} !.*yoshitomo.org.*
  7. RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]
参考になりましたか?
1 Star2 Stars3 Stars4 Stars5 Stars (2 votes, average: 3.00 out of 5)
by WP-PostRatings
Loading ... Loading ...

1件のコメント »

  1. [...] ●コメントスパム対策 @ 雑念ベース ●コメントスパムを弾き出せ @ insomniaque [...]

    ピンバック by 【WordPress ME】コメントスパム対策 » TSJ付゛録゛II — 2006年12月29日 金曜日 @ 18時50分

この投稿へのコメントの RSS フィード。 TrackBack URI

コメントする

HTML convert time: 0.098 sec. Powered by

Images is enhanced with WordPress Lightbox JS by Zeo