0

ゲストブック付きのウェブサイトを持っています。これは php (codeigniter) で構築されています。

「悪い」単語を除外するために、単語の「ブラックリスト」を使用しています。ゲストブックのコメントに「悪い言葉」が含まれている場合、カウンターにポイントが追加されます。最終的にカウンターが 2 を超える場合、コメントはスパムとして報告され、許可されません。

これは数週間前まではうまくいっていました。

だけのコメントを受け取り続けています???????。フィルターで????、ブラックリストに追加しました。????コメントに が 1つ以上追加されるたび?に 2 ポイントが追加され、そのコメントはスパムと見なされます。

if (strpos($comment,'????') !== false) 
            $points  = $points + 2;

そして、「??? ?? ????????????」のようなコメントを追加しようとすると、コメントがブロックされます。
しかし、まだ ? だけが入ったスパムが届き続けています。ですから、問題は別のところにあると思います。入力はアラビア語や中国語に似ていて、入力が認識されず、? に変換されていないと思います。

しかし、ゲストブックにはまだスパムが残っています。

どうすればこれを解決できますか?

4

1 に答える 1

1

mb_detect_encodingはコードページを教えてくれます。データベースが正しい照合順序に設定されていないため、「?」で表されます。お役に立てれば...

于 2013-06-12T17:10:06.093 に答える