0

我有一个网站,上面有留言簿。它是用 php (codeigniter) 构建的。

为了过滤掉“坏”字,我使用了自己的“黑名单”。如果留言簿评论包含“坏词”,则将积分添加到计数器。如果最终计数器大于 2,则该评论被报告为垃圾邮件并且不允许。

这一直很好,直到几周前。

我不断收到关于???????'s 的评论。在我的过滤器中,我已添加????到我的黑名单中。每次????或多个?' 被添加到评论 2 点被添加,评论将被视为垃圾邮件。

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

并且它有效,当尝试添加诸如“??? ?? ????????????”之类的评论时,评论被阻止。
但我仍然不断收到只有 ? 的垃圾邮件。所以我认为问题出在其他地方。我认为输入就像阿拉伯语或中文,并且输入未被识别并翻译成?

但我的留言簿中仍然存在垃圾邮件。

我怎么能解决这个问题?

4

1 回答 1

1

mb_detect_encoding将告诉您代码页,它表示为“?”,因为您的数据库未设置为正确的排序规则。希望这可以帮助...

于 2013-06-12T17:10:06.093 回答