垃圾邮件和脏词评论python中的过滤/预防/阻止(django)

时间:2010-05-20 08:07:35

标签: python django filtering spam-prevention

我的基本问题是如何在python(django)下的评论帖系统中防止垃圾邮件和脏话。

我有一系列要阻止的短语(大约3000个短语)。

我想做的是这样的:

如果我在用户点击发布按钮时发现了一个含有脏词的评论,那么网络应弹出一条警告消息,并要求人们重新输入/更正评论并再次提交。这只是阻止人们提交粗鲁/垃圾评论。

问题(1),是否有任何现有的开源python(或django)软件包/模块/插件可以处理这个工作?我知道有一个叫Akismet。但从我的理解,它不会解决我的问题。 Akismet只是一个Web服务,可以过滤Akismet定义的单词字典。但我有自己的单词集。如果我错了,请纠正我。

问题(2),如果没有我可以使用的开源软件包,如何创建自己的开源软件包?我唯一能想到的是使用正则表达式并将所有单词短语与正则表达式中的“或”连接起来。但我有3000个短语,我认为它在性能方面不起作用并过滤每个评论帖。我应该从哪里开始建议?

非常感谢你的帮助和时间。

1 个答案:

答案 0 :(得分:4)

您可能需要查看PROFANITIES_LIST设置,看起来可以将其与validators一起使用。

虽然有很多(3000真的吗?你必须在派对上很开心)的短语,但你想重新思考一下。你不应该过滤垃圾邮件。你应该扔掉它。只是我的观点。如果评论中有垃圾邮件,为什么要保留垃圾邮件呢?这样的评论有没有增值?