bbpressのユーザー登録スパム対策プラグイン

bbpressで掲示板を運営していると、いつ頃からかユーザー登録スパムに悩まされるようになりました。そこで、対策方法を探していた所、human-testというプラグインを発見!
ただし、この方法は、bbpress1.0系(スタンドアローン)の方法です。bbpress2.0系(プラグイン)では検証しておりません。

human-testをダウンロード、解凍しbbpress内のbb-pluginsフォルダにhuman-test.phpをアップロード、有効化するだけでOK!とっても簡単です。

ユーザー登録ページに自動的に計算式が表示されます。

ユーザー登録画面

human-test.phpの72行目で、メッセージを変更出来ます。

echo '
<fieldset><legend>'.__("Please prove you are human (and not a robot)").'</legend>
<table style="width: 100%;">
<tbody>
<tr class="required">
<th scope="row" nowrap="nowrap">';

“Please prove you are human (and not a robot)”

“ユーザー登録ロボットで無い証明に以下の計算をお願いします”

お好きな日本語メッセージに書き換え完了(文字コードはUTF-8で保存)。

プラグインを入れてから、ほぼスパムは0になりました。
100%防げるわけではなさそうです。

 

追記

プラグインでスパムが激減したのもつかの間、今度はユーザー登録と投稿スパムが毎日のようにやって来ました。

そこで、「.htaccess」ファイルを使い、特定のIPアドレスをアクセスを拒否するようにしました。

スパム投稿がされた場合、データベースの「bb_posts」の「poster_ip」を見に行きIPアドレスを特定します。

例えば、スパム投稿のIPアドレスが「111.222.333.444」の場合、以下のように記述。

order allow,deny
allow from all
deny from 111.222.333.444

更に、「111.222.333.555」のように下の桁を変えてスパム投稿がくる場合、以下のように追加すると「111.222.333.555」だけでなく「111.222.333.666」「111.222.333.777」も弾いてくれます。

order allow,deny
allow from all
deny from 111.222.333.444
deny from 111.222.333.

拒否するIPアドレスを記述した「.htaccess」ファイルをbbpressフォルダにアップロードします。
「.htaccess」が無いもしくは作れない場合、「htaccess.txt」を作りアップロードしてから「.htaccess」と名前の変更をします。

何度かIPアドレスを変えてきたスパムも、地道に拒否しているうちに来なくなりました。

ちなみに、IPひろばでドコの国からスパムが来ているのかがわかります。その国すべてのIPアドレスを拒否するという手もありますが、普通に見てくれているユーザーさんもいるので、やるとしたら最終手段ですね。

このエントリーを共有する


2012-02-28 (火) 16:47 投稿