单词与漏洞匹配

时间:2014-05-03 18:25:17

标签: php string

我保留了过滤器,过滤掉了assjerk等一些被阻止的单词。我有这样的单词列表进行比较,如果存在则阻止。

有些用户使用它们,例如je*kf*ck,因此它们与列表不匹配,并且页面上会显示单词。有没有办法克服这种漏洞?

同样shit用户使用sh/t。我怎么处理这个问题?

2 个答案:

答案 0 :(得分:3)

如果您要检查单个字词,可以使用levenshtein()

if (!ctype_alpha($text) && levenshtein('shit', $text) === 1) {
    //match
}

答案 1 :(得分:1)

这是我在我的评论框架上使用的函数,它加载large list of filters words并使用单词边界替换为*,在单词列表中我使用{{ 1}}作为通配符,以便不替换像chickenjerk这样的单词,当我检测到漏洞时,只需将其添加到列表中。

*

希望它有所帮助。