どうにもbbPress のスパムが収まらない。いろいろ対策はして居るんだけども・・・
Google してみて、こんな記事を見つけた。
Combating Comment Spam/Denying Access « WordPress Codex
.htaccess に以下のようなエントリーを追加するというものだ。
# BEGIN ANTISPAMBLOG REGISTRATION
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .register\.php*
RewriteCond %{HTTP_REFERER} !.*www.mysite.com.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) http://die-spammers.com/ [R=301,L]
# END ANTISPAMBLOG REGISTRATION
このエントリーが何をしているのかと言うと、アクセスに来た時にユーザーから渡される環境変数の中身を見て、ボットだと思われる場合は、別のURL にリダイレクトするというものらしい。
RewriteCond ・・・ Rewrite Condition の意味
RewriteRule ・・・ Rewrite Rule つまり URL を書き換える。
上記の文章はある条件の時にはまった時にURL を書き換えるルール。
REQUEST_METHOD | POST | POSTの時 | |
REQUEST_URI | リクエストされたURL | .register\.php* | ここ正規表現では無いけどいいのかな・・・ register.php という文字がリクエストされたURLに混じっていた時。 |
HTTP_REFERER | 参照元のURL | !.*www.my.site.* [OR] | 「!」は否定を表す。 [OR]は、”もしくは”次の RewriteCond につながっている。 つまり「www.my.site がURL のリンク元に含まれてない時」という意味。 www.my.site の前後につく 「.*」は正規表現で、”任意の文字(.) が、任意の数(*)続くという意味。 |
HTTP_USER_AGENT | ^$ | (^) は正規表現で行頭 ($) は正規表現で行末 こう書くと多分この情報が空の場合。って事だと思う。 通常は Mozila 等のブラウザの識別子が入ってくる。 |
|
RewriteRule | (.*) http://die-spammers.com/ [R=301,L] | http://die-spammers.com は好きなリダイレクト先を入れる。 |
記述が正しいのかよくわかってないものの、しばらくこれで運用してみる。