mt-comments.cgi に簡易スパムフィルタを実装する
あまりにもコメントスパムが多くなってきたので、mt-comments.cgi に急遽自前フィルタを追加してみた。結構いい感じ。
下記は 'sex' と 'porn' を含むコメントをポストできなくした例。
実際にはスパム業者はある程度絞れるので、具体的に特定の URL を本文に含むもの、などとしている。
#!/usr/bin/perl -w # Copyright 2001-2003 Six Apart. This code cannot be redistributed without # permission from www.movabletype.org. # # $Id: mt-comments.cgi,v 1.34 2003/02/12 01:05:31 btrott Exp $ use strict; #add unti-spam ---> use CGI; if ( $ENV{ 'REQUEST_METHOD' } eq 'POST' ) { my $q = new CGI; my $comtext = $q->param( 'text' ); die if ( $comtext =~ /\b(?:sex|porn\w*)\b/i ); } #<--- add unti-spam my($MT_DIR); BEGIN { if ($0 =~ m!(.*[/\\])!) { $MT_DIR = $1; } else { $MT_DIR = './'; } unshift @INC, $MT_DIR . 'lib'; unshift @INC, $MT_DIR . 'extlib'; } eval { require MT::App::Comments; my $app = MT::App::Comments->new( Config => $MT_DIR . 'mt.cfg', Directory => $MT_DIR ) or die MT::App::Comments->errstr; local $SIG{__WARN__} = sub { $app->trace($_[0]) }; $app->run; }; if ($@) { print "Content-Type: text/html\n\n"; print "An error occurred: $@"; }
トラックバック
- このエントリーにトラックバック:
- http://frog.raindrop.jp/cgi-bin/mt/mt-tb.cgi/781
コメント
これ書いた端からスパム襲来。
フィルタ追加しなくちゃ。
test
さらに a タグ使用不可にしてみました。
なにやら SPAM 対策のパッチが公開されているようです。
コメント SPAM でなく、SPAM メール関連のようですが。
http://www.movabletype.jp/archives/2005/01/_movable_type_1.html