2012-02-07 51 views
2

我们有一个在Ubuntu/Apache上运行的Django Web应用程序。最近,我们在大量垃圾邮件(评论,注册,用户贡献的内容等)方面遇到了很多问题。Django应用程序垃圾邮件阻止

我们有CSRF安全措施,但我想知道其他人采取了哪些步骤来遏制这种情况(ip表限制,Apache模块,验证码等)?

回答

3

除了已经写好的其他海报外,您还可以使用akismetmollom服务。对于pypi上的两个现有Python库,分别为akismetPyMollom。您可以看到它们如何在Django项目here(akismet示例)和here(mollom示例)中集成。

如果您不想依赖外部服务考虑为Django使用验证码应用程序。我个人使用Django Simple Captcha并对此感到满意,它非常可定制且易于安装。它也支持音频验证码。 This bitbucket repo包含一个简单的Django项目,展示如何使用Django Simple Captcha验证经典联系人表单。

另外我不确定诉诸IP表是防止垃圾邮件在您的网站上的最佳方式,至少如果您不必阻止通常烦人的IP地址。

+0

谢谢,我的关注也是表现......即使我阻止了内容的创作,我仍然有机器人一遍又一遍地打我的网站...我提出了ip表作为阻止他们进入前门的一种方法最大限度地减少性能影响等... – 2012-02-07 16:30:54

2

Django CSRF保护旨在保护您的表格免受cross-site request forgery而非垃圾邮件。

CAPTCHA(完全自动公开Turing测试告诉计算机和人类除)将保护您免受自动垃圾邮件。

对于人为生成的垃圾邮件,您可以使用审核系统。

0

我相信这些问题是在根设计问题。有明确的政策允许谁发帖 可以匿名用户发布。也许只允许注册用户发帖。或者拥有一组关于谁可以发布的地方。

Captchas是清除垃圾邮件的极其简单的方法。 http://www.google.com/recaptcha 从字面上看,Recaptcha只需要几分钟的时间就可以完成整合,而且非常有效。