PHPメモ:英字スパム対策

修正しました。

先週、英字スパム書き込みがやたらに多いので数行ですが掲示板を修正をしました。
1週間経ちましたが、実績はスパム数は0になっています…!
一応効果はあるようなので紹介しておきます。
英字スパムで困っている方でコードの修正ができる方は取り入れてみてはいかがだろうか…?

コードは以下のif文を追加するだけです。

//$textに数字と英字、記号以外が含まれる時だけ処理を行う
if(mb_ereg_match("[^0-9a-zA-Z!-/]",$str)){
	//処理
}

まぁ上記のように書き込み処理を行う前に正規表現を行うだけです。

//検索対象文字列が検索条件に一致すればTrueを返す
mb_ereg_match(検索条件,検索対象文字列)

今回は英字スパムのみの拒否でしたが、検索文字列に拒否したいキーワードを設定すれば日本語でのスパムにも対応できます。

ちなみに、
PHPが使えない場合は、javascriptでも同じ事が出来きます。

<script type="text/javascript"><!--
str = 検索対象文字列;
re = new RegExp("[^0-9a-zA-Z!-/]");
if (str.search(re) != -1) {
	//処理
}
//--></script>

レイアウトをHTMLの編集が出来るブログなんかではjavascriptを使えばコメントの拒否設定とかできたりします。
ただしくれぐれも元のコードを崩してしまわないように。



コメント
コメントする








    
この記事のトラックバックURL
トラックバック