ASKA BBSで英文spamをブロックする方法

ASKA BBS。ものはいいんですけど、spamがちょっとね。

	# フォーム内容をチェック
	local($err);
	if ($in{'name'} eq "") { $err .= "名前が入力されていません<br>"; }
	if ($in{'comment'} eq "") { $err .= "コメントが入力されていません<br>"; }
	if ($in{'email'} && $in{'email'}!~ /^[\w\.\-]+\@[\w\.\-]+\.[a-zA-Z]{2,6}$/) {
		$err .= "Eメールの入力内容が不正です<br>";
	}
	if ($err) { &error($err); }

aska.cgiの↑この部分を、↓こうします(377384行目に1行挿入)。

	# フォーム内容をチェック
	local($err);
	if ($in{'name'} eq "") { $err .= "名前が入力されていません<br>"; }
	if ($in{'comment'} eq "") { $err .= "コメントが入力されていません<br>"; }
	if ($in{'email'} && $in{'email'}!~ /^[\w\.\-]+\@[\w\.\-]+\.[a-zA-Z]{2,6}$/) {
		$err .= "Eメールの入力内容が不正です<br>";
	}
	if (($in{'name'}. $in{'email'}. $in{'sub'}. $in{'comment'}. $in{'url'}) =~ /(href|casino|poker|sex|porn|xxx|viagra)/i) { $err .= "不正な文字列を検出しました<br>"; }
	if ($err) { &error($err); }

(href|casino|poker...)の部分に拒否したい単語を|でくくって列挙します(一部を除く日本語も可)。あんまり短い語句だと誤爆の可能性があるので注意が必要です。

ASKA以外のBBSでも同じ要領でいけます。