Cazperのつれづれ日記: 【ブログMT】スパムコメント対策【英語対策】

« はねゆり(羽根有里)とWordPressに期待 | メイン | お金の通り道を見つける »

2006年5月27日

panda01.gif 【ブログMT】スパムコメント対策【英語対策】

Movable Type3.2Jはスパムコメントをある程度弾くプラグインが導入されていたので、一時期は大抵のスパムコメントが自動で「迷惑コメント」として認識されてくれたのですが…

スパム業者も対策を考えたのか、ここ1ヶ月程は、標準のスパムフィルターをすり抜けて登録されてしまうスパムコメントが激増しました。

あまり、鎖国的な方策は採りたくないのですが…毎回、フィルターをすり抜けた英語のスパムコメントを手動で削除するのは限界があります。

そこで、調べてみると、英語(1バイト文字)のみで書かれたコメントを弾く方法をとっている人(蓄積多趣味人)が居たので、それを採用する事にしました。

方法は、lib/MT/App/Comments.pmファイル中の236行目に次のコードを書き込んで保存します。


if(($q->param('text') ne "") && ($q->param('text') !~ m/[\x80-\xff]/)) {
return $app->handle_error($app->translate("Comment text is invalid."));
}
Movable Typeのバージョンが変わると上のコードを書き込む場所が変わることもあるかと思いますが、その場合は、次のコードを探し出して、その下にコードを書き込むようにして下さい。
$passed_filter ||
return $app->handle_error($app->translate("_THROTTLED_COMMENT"),
"403 Throttled");

P.S.
スパムトラックバックは、今のところMovableType3.2J付属のプラグインが有効に働いているので、対策は行っていません。

P.S.2
大元は、小林Scrap Book Heartlogicさんのホムペが参考にされてるみたいですね。

P.S.3
今回は、1バイト文字のみで書かれたコメントを弾くようにしてますが、2バイト文字のスパムコメントが増えるようならば、その時はベイジアンフィルタを導入することになりそうです。閑話休題::Blogによれば、旧バージョン用のベイジアンフィルタはMT3.2でも有効だそう。LunaTearさんのブログでもベイズ系フィルタは紹介されています。

P.S.4
スパムコメントのIPから送信元ドメインを探ると、韓国(kr)が多いのは気のせいでしょうか? そうだとするならば、送信元の(登録)国を指定して防げるスパム防止プラグインがあれば楽に防げると思うのですが…。

投稿者 cazper : 2006年5月27日 07:00 | b_entry.gif
     

トラックバック

このエントリーのトラックバックURL:
http://www.cazoo.jp/cgi/mt/mt-tb.cgi/998

このリストは、次のエントリーを参照しています: 【ブログMT】スパムコメント対策【英語対策】:

» コメントスパム対策 from Life::Scene
 お気づきの方もいらっしゃると思いますが、最近、英文のコメントスパムが投稿されるようになってしまいま... [続きを読む]

トラックバック時刻: 2006年6月25日 18:08

コメント