phpbbを運用しているとspam投稿が結構多いので、禁止ワード設定で禁止ワード込みで投稿できなくし、英語のみの投稿禁止で外国からの英語spamを禁止する。
phpBB2でもphpBB3でも対応可能です。少し変更する必要があります。
posting.phpの170行目あたり
$error_msg = ”;
$post_data = array();
->ここに追加する
switch ( $mode )
追加する内容
$chkmsg = ( !empty($HTTP_POST_VARS[‘message’]) ) ? $HTTP_POST_VARS[‘message’] : ”;
//phpBB3の場合は「$HTTP_POST_VARS」を「$_POST」に変更
//英語のみ禁止チェック
$chkresult = ((mb_detect_encoding($chkmsg, “auto”) == ‘ASCII’)&&(strlen($chkmsg) != 0));
//禁止ワードを”chkword.txt”から読み込む
$chkword = @file(“chkword.txt”);
foreach ($chkword as $line) {
$line = str_replace(“r”, “” , $line);
$line = str_replace(“n”, “” , $line);
if (substr_count($chkmsg, $line)) { $chkresult = true; }
}
if ($chkresult) {
//phpBB2の場合
message_die(GENERAL_MESSAGE, “禁止ワードが含まれています<br />詳細は master にお問合せください”);
//phpBB3の場合
//trigger_error(‘禁止ワードが含まれています’);
}
禁止ワードのファイルをアップロード
chkword.txtに1行に1キーワードで禁止ワードを書いて、posting.phpと同じ階層にアップロードする。