コメントスパム対策3.1 その2(Spam Protect H1)

一向に減らない自動投稿っぽいコメントスパムへの対策としてあるアイデアを実施中です。
現在様子を見ていますが、スパムのブロックには成功しているようです。

あまりに単純な方法なので、こんなん発表していいのか悩みますが、その前に通常の使用に問題を生じていないかが大事ですよね。

そんなわけでコメントのテストをして頂けると幸いです。
もう数日したらこのエントリで方法を紹介しようかな、と思っています。


だいたいいいようなんで公開。

名付けて「Spam Protect H1」。

やはり

/mt/lib/MT/App/Comments.pm

を加工します。

284行目付近

return $app->handle_error($app->errstr()) unless $comment;

の前に挿入します。

if ($comment->url) {
require MT::Util;
if (my $fixed = MT::Util::is_valid_url($comment->url, 'stringent')) {
$comment->url($fixed);
} else {
return $app->handle_error($app->translate(
"Invalid URL '[_1]'", $comment->url));
}
}

# Spam Protect H1 added by Kirishima

if ($comment->text) {
if ($comment->text =~ /<h1>/i) {
return $app->handle_error($app->translate("Spam Protect H1 blocked your comment."));
}
if ($comment->text =~ /<a href=/i) {
return $app->handle_error($app->translate("Spam Protect H1 blocked your comment."));
}
}

return $app->handle_error($app->errstr()) unless $comment;

## Here comes the fancy logic for deciding whether or not the
## comment appears.

こんな感じです。

みりゃわかると思いますが、コメント中に<h1>タグと<a>タグを書いたら受け付けません。
ここだ、というコトが分かったので、あとは、気に入らない文字列をビシバシ弾けばいいわけで。
英語でひとこと、「good site.」とかっつーコメントスパムは止まりませんが、その程度は手で処理できる範囲と考えています。

コメント (4)

i_rain:

コメントテストどす~。
おいらのところにはコメントスパム来てないっす~。

たぶんBLOGNAVIに登録してるから、そこからぶっこ抜いてるんじゃないかと推測。

サイン・インまわりが変なんだよねえ…。

サイン・インの修正が終わりましたので。

コメントを投稿

(コメントは、オーナーが承認するまで表示されません)

About

2004年12月07日 12:50に投稿されたエントリーのページです。

ひとつ前の投稿は「女性の二輪の指導員」です。

次の投稿は「サイン・インがうまくいかない MT3.11-ja」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Powered by
Movable Type 3.35