joomlaboardスパム対策

phpスパム制限ライブラリをダウンロード
http://bbslabo.breeze.jp/c001_spam_lib_php.html

joomlaのフォルダに解凍

./tmp を作成して書き込み権限付与
./spam_check_NGWORD.txt を作成し禁止語を登録。
書式は http://bbslabo.breeze.jp/pub/NGLISTS.stable を参照。

spam_config.phpを修正
64行目付近($chk = new post_checker($_ENV[“NGLISTFILEPATH”] );)の後に以下の1行追加
$chk->setting(“./spam_check_NGWORD.txt”);
85行目付近のエラー処理をコメントアウト
#header (“Location: $_ENV[WHENNGJUMPTOURL]”);
#print(“Location: $_ENV[WHENNGJUMPTOURL]”);
#exit;

spam_check_class.txt修正
257行目付近の なまえ の前に sb_authorname<> を追加
257行目付近(if(preg_match(“/^[\x20-\x7e]+$/”, $value) ) {の前)をコメントアウトし以下の3行を追加
$value2 = str_replace(“\r\n”, “”, $value);
$value3 = str_replace(“\r”, “”, $value2);
if(preg_match(“/^[\x20-\x7e]+$/”, $value3) ) {

./components/com_joomlaboard/post.php修正
148行目付近($parent=(int)$parentid;の前)に以下の4行を追加
$cresult = include(“/joomlaのフォルダの絶対パス/spam_config.php”);
if( $CheckResult >= 1){
$spam_ck = “Y”;
}
153行目付近(else if (empty($subject))の前)に以下の9行を追加
else if ($spam_ck == “Y”)
{
echo ‘Sorry!’;
$mlfr = ‘管理者のメールアドレス’;
$mlto = ‘管理者のメールアドレス’;
$mlsb = ‘Joomla spam’;
$mlms = “$message\n$sb_authorname\n$subject”;
mail($mlto, $mlsb, $mlms, $mlfr);
}

以上です。

コメントは受け付けていません。