phpbb3のスパム対策

ワードプレスに比べてphpbb3の情報は少なく感じます。
phpbb3はスパムが多いです。
その為スパム対策をしておきます。

日本語が入っていないと投稿できないようにするのとNGワードを指定します。
posting.phpファイルの220行くらいに下記コードがあります。

// Permission to do the action asked?
$is_authed = false;

この下に

$chkmsg = ( !empty($_POST[‘message’]) ) ? $_POST[‘message’] : ”;
$chksubject = ( !empty($_POST[‘subject’]) ) ? $_POST[‘subject’] : ”;

$chkresult =((mb_detect_encoding($chkmsg, “auto”) == ‘ASCII’)&&(strlen($chkmsg) != 0));
$chkresult_sub =((mb_detect_encoding($chksubject, “auto”) == ‘ASCII’)&&(strlen($chksubject) != 0));

$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 or $chkresult_sub) {
trigger_error(‘
投稿エラー
件名と本文に日本語が入っていないと投稿できません。
もしくは、投稿禁止ワードが含まれている可能性があります。
<a href=”javascript:history.back()”>前の画面に戻る</a>‘);
}

を入れます。
<a href=”javascript:history.back()”>前の画面に戻る</a>の<>は半角の<>に変更してください。
ここに表示できなかったので大文字にしました。

NGワード
chkword.txtを作成します。

ファイルの中にNGワードを1行目から一つずつ書きます。
NGワード1
NGワード2
NGワード3
とNGワードだけを書いて保存します。

保存するときposting.phpと同じ文字コードにします。
違う文字コードだと日本語をNGワードにしても引っかからなかったです。

作成したchkword.txtをposting.phpと同じ場所に設置します。

そうするとかなりスパムが減るのではと思っています。

NO IMAGE
最新情報をチェックしよう!