« コメントスパム対策 | メイン | トラックバックスパム »
2005年09月19日
このHPについて雑記:: コメントスパム対策を施す
Tweet @jin1016をフォロー昨夜からコメントスパムが再発。
今日の昼前までに26件ものコメントスパムが。
そこで対策をしようと、以前書いたページのMovableTypeコメントスパム対策の通りにやろうとするが…… テンプレートが違う?
いくつかのテンプレートが異なっているようでhidden属性を埋め込むと言う方法をとるのは面倒臭そうだ。
そこで、スパムから特徴点を抜き出して、それでフィルタリングする方法を考えた。
見てみると、投稿に使われるメールアドレスのドメイン部分がGUIDになってる。
ただ、なぜか33文字。
と言うことで、メールアドレスのドメイン部分にGUIDを持つ場合( /^[^@]+@[0-9a-fA-F]{32}.*\..+/ にマッチするもの)、スパムとして弾くことにした。
具体的にはmt-comments.cgiのuse strict;直下に次の文を加えた。
use CGI qw(:standard);
if ($ENV{'REQUEST_METHOD'} eq "POST") {
my $email = param('email');
if( $email =~ /^[^@]+@[0-9a-fA-F]{32}.*\..+/ ) {
print "Content-Type: text/html\n\n";
print "An error occurred: メールアドレスがスパムの可能性があるため受理できません。他のメールアドレスを使用してください。";
die;
}
}
これでコメントスパムはしばらく一安心。
投稿者 Takenori : 2005年09月19日 16:22
comments powered by Disqus