一向に減らない自動投稿っぽいコメントスパムへの対策としてあるアイデアを実施中です。
現在様子を見ていますが、スパムのブロックには成功しているようです。
あまりに単純な方法なので、こんなん発表していいのか悩みますが、その前に通常の使用に問題を生じていないかが大事ですよね。
そんなわけでコメントのテストをして頂けると幸いです。
もう数日したらこのエントリで方法を紹介しようかな、と思っています。
だいたいいいようなんで公開。
名付けて「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 | 2004年12月07日 23:59
日時: 2004年12月07日 23:59
たぶんBLOGNAVIに登録してるから、そこからぶっこ抜いてるんじゃないかと推測。
投稿者: Kirishima | 2004年12月08日 00:11
日時: 2004年12月08日 00:11
サイン・インまわりが変なんだよねえ…。
投稿者: Kirishima | 2004年12月08日 00:42
日時: 2004年12月08日 00:42
サイン・インの修正が終わりましたので。
投稿者: Kirishima | 2004年12月08日 13:44
日時: 2004年12月08日 13:44