2

对于一个接受孩子们输入的网站,我们需要过滤他们在网站中输入评论时使用的任何顽皮/坏词(运行 PHP)。

评论是一个自由字段,用户可以输入他们想要的任何评论。我能想到的解决方案是有一个像 BLACKLIST 这样的单词列表:bad,bad,word,wood,craap,craaaap,(我们可以用所有列入黑名单的单词来填充它)。

然后,当保存表单时,我们可以查看列表,如果存在任何单词,那么我们将不允许保存评论。

但是这种方法的问题是他们可以通过在单词中添加字母来绕过过滤器,例如:shiiiiit

让我知道您认为为这些词创建过滤器的最佳方式。

4

6 回答 6

7

您将永远无法过滤每个排列。也许最可行的解决方案是过滤明显的内容,并实施“报告滥用”机制,以便有人可以手动查看(并拒绝)可疑评论。

于 2009-08-25T09:30:56.693 回答
5

所以你要禁止shit、shït、shıt、śhit和śhiŧ?

在 Unicode 时代,黑名单不是一个可行的解决方案。然而,彻底禁止欧元似乎有些过分。

于 2009-08-25T09:46:29.110 回答
4

如果你有足够的时间,值得一读斯肯索普问题

Jeff Atwood 也有一篇关于淫秽过滤器无效的帖子。

于 2009-08-25T09:59:02.893 回答
1

由于太多的 php,我找到了一些链接,这些链接可能是您的案例的解决方案:

于 2009-08-25T10:13:25.500 回答
0

使用uClassify训练不良评论,当系统训练得足够好时,您可以标记违规评论以进行审核。

于 2009-08-25T10:01:06.103 回答
-1

此外,总是有可能过滤像“bass”这样的词,其中当然包括不允许的词之一。目前,一些优秀的版主似乎是解决此类问题的最佳方法。

于 2009-08-25T09:52:57.040 回答