スパムを投稿拒否する最近、英文のスパム投稿が多くなりましたね。 例えばこのような感じの投稿 切っても斬っても次から次へと嫌に なってしまいますね。 IPで禁止しても次から次にIPを変えて書き込んできますので 多くの掲示板が閉鎖してします。 しかし・・ そんな英文スパムに負けてたまるか日本。 日本語には全角文字があるじゃん!!。 と言う事で全文が半角英文なら投稿拒否にします それでは対策方法です 次のはKentさんのCGIですが 次のようにコメントに全角文字が1文字も無いとエラーにします #┌───────────────────────────────── #│ JOYFUL NOTE v1.41 (2002/08/22) #│ Copyright(C) Kent Web 2002 # 入力項目のチェック if ($in{'name'} eq "") { &error("名前が入力されていません"); } if ($in{'comment'} eq "") { &error("コメントが入力されていません"); } if ($in{'comment'} !~ /[\x80-\xff]/) { &error("英文のみの投稿は不可です"); } if ($in_email) { if ($in{'email'} eq "") { &error("Eメールが入力されていません"); } elsif ($in{'email'} !~ /[\w\.\-]+\@[\w\.\-]+\.[a-zA-Z]{2,5}$/) { &error("Eメールの入力内容が不正です"); } } } 上記のようにコメントが入力〜〜を探して 赤を追加します これで英文全文が投稿拒否できます 次は他のCGIです これらも同じように全角が入っていないと エラーに飛ばします #------------------------------------------ $ver="I-BOARD v7.2";# (アイコンレス掲示板) #------------------------------------------ # Copyright(C) りゅういち if ($FORM{'name'} eq "") { &er_("名前が未入力!"); } if ($FORM{'comment'} eq "") { &er_("コメントが未入力!"); } if ($FORM{'comment'} !~ /[\x80-\xff]/) { &er_("英文のみの投稿は不可です"); } 同じようにコメント未記入を探して 赤のプログラムを追記します 海外のBBSはこのように全角を判定して投稿を 拒否できないので投稿者は審査制みたいですね。 メールで投稿IDを貰うようです。 |