いい加減
PHPBBのスパム対策した。
グーグルランクアップ狙いのスパムが毎日大体5,6件、URLが盛りだくさんでやってくるので、徘徊ロボが来る前に即効で削除するのが日課になっていました。
参照カウンタが0の状態で削除できれば私の勝ちだ!


最初のうちは結構楽んでスパム削除キャンペーンをしてたんですけど、そろそろ飽きてきた…。
というわけで、幾つか対策してみました。
まずは、公式でスパムブロック系のModsを探してみてとりあえず上の方にあって評価の割かし高い「disable-spambots」というのを入れてみる。
PHPBBのModsって手作業だからやる気が中々起こらないんですよね…。
あと、それの下辺りに日本語が入ってない&URLが5つ以上あったらスルーコードを仕込んでみました。
以下のようなもの。
具体的に、説明すると
・メッセージ内に半角かなを除く日本語の3文字以上の連なった文字列が2回以上出現していないとスルー。
・メッセージ内に「http://」が5個以上あるとスルー。
という感じです。
普通に日本語の文章書いてればブロックされないと思います。
イタチごっこになるスパム対策だけど、どの位効果あるものか。
追記:
上記対策して2ヶ月経ちますが、今のところスパム0です。中々良い感じ。
参照カウンタが0の状態で削除できれば私の勝ちだ!



最初のうちは結構楽んでスパム削除キャンペーンをしてたんですけど、そろそろ飽きてきた…。
というわけで、幾つか対策してみました。
まずは、公式でスパムブロック系のModsを探してみてとりあえず上の方にあって評価の割かし高い「disable-spambots」というのを入れてみる。
PHPBBのModsって手作業だからやる気が中々起こらないんですよね…。
あと、それの下辺りに日本語が入ってない&URLが5つ以上あったらスルーコードを仕込んでみました。
以下のようなもの。
if ($submit) {
$post_message = str_replace("\0", '', $_POST['message']);
if (!preg_match_all('/[\xA1-\xFE][\xA1-\xFE]{3,}/', $post_message, $matchs) || count($matchs[0]) < 2) {
$submit = false;
}
if (substr_count($post_message, 'http://') > 5) {
$submit = false;
}
}
具体的に、説明すると
・メッセージ内に半角かなを除く日本語の3文字以上の連なった文字列が2回以上出現していないとスルー。
・メッセージ内に「http://」が5個以上あるとスルー。
という感じです。
普通に日本語の文章書いてればブロックされないと思います。
イタチごっこになるスパム対策だけど、どの位効果あるものか。
追記:
上記対策して2ヶ月経ちますが、今のところスパム0です。中々良い感じ。
Trackbacks
- No Trackbacks
| [TrackbackURL:] | |
| [EntryURL:] |