bbPress

bbPress のスパム対策

どうにも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 は好きなリダイレクト先を入れる。

記述が正しいのかよくわかってないものの、しばらくこれで運用してみる。

-bbPress

Copyright© エンジニアの何でもメモ帳 , 2024 All Rights Reserved.