2007年5月7日月曜日

SPAM(スパム)的な掲示板書込み防止対策3

掲示板スパム対策・掲示板改造支援サイト では,「メールアドレスの入力を禁止」で試みたのですが,すぐに相手が対応してきました。 そこで,以下の様にメッセージ書込み処理ルーチンで書き換えてみました。注意はフォントの関係により, 全角で 書いています。半角英数字の¥を使用して下さい。
英文やURLの大量な書込みを防ぐのには。
# 例1
# コメント欄
if ($in{'comment'}=~ /http/) {&error("URLは書き込めません");}  
if ($in{'comment'} !~ /(¥x82[¥x9F-¥xF2])(¥x83[¥x40-¥x96])/) {&error("コメントに日本語が含まれていません");}
# 例2
if ($FORM{'comment'} eq "") { &er_("コメントが入力されていません!"); } # 空白防止
# 例3
if ($FORM{'comment'} =~ "http://") { &er_("URLを含む投稿はスパム避けのため禁止しています。"); }
if ($FORM{'comment'} !~ /(¥x82[¥x9F-¥xF2])(¥x83[¥x40-¥x96])/) { &er_("日本語を書いてください。");}
# {'comment'}の部分はスクリプトによって異なる場合があります。
# 例4
if ($FORM{'body'} !~ m/[¥x80-¥xff]/) { &error("コメントに日本語が含まれていません");}
# 例5
if (&chkZenkaku($LINE) ne 'sjis') { &error("エラー","内容文に日本語コードが検知できませんでした。"); }
#
sub chkZenkaku
{
local($line) = @_;
(@line) = &jcode'getcode(*line);
$line[1];
}

参考にしてみて下さい。
私の掲示板サイトは20サイト有ります。試行錯誤で何とか防止対策を出来ました。
後は禁止用語とかNG言語をその都度加えて行きました。

0 件のコメント: