我们有一个在Ubuntu/Apache上运行的Django Web应用程序。最近,我们在大量垃圾邮件(评论,注册,用户贡献的内容等)方面遇到了很多问题。Django应用程序垃圾邮件阻止
我们有CSRF安全措施,但我想知道其他人采取了哪些步骤来遏制这种情况(ip表限制,Apache模块,验证码等)?
我们有一个在Ubuntu/Apache上运行的Django Web应用程序。最近,我们在大量垃圾邮件(评论,注册,用户贡献的内容等)方面遇到了很多问题。Django应用程序垃圾邮件阻止
我们有CSRF安全措施,但我想知道其他人采取了哪些步骤来遏制这种情况(ip表限制,Apache模块,验证码等)?
除了已经写好的其他海报外,您还可以使用akismet或mollom服务。对于pypi上的两个现有Python库,分别为akismet和PyMollom。您可以看到它们如何在Django项目here(akismet示例)和here(mollom示例)中集成。
如果您不想依赖外部服务考虑为Django使用验证码应用程序。我个人使用Django Simple Captcha并对此感到满意,它非常可定制且易于安装。它也支持音频验证码。 This bitbucket repo包含一个简单的Django项目,展示如何使用Django Simple Captcha验证经典联系人表单。
另外我不确定诉诸IP表是防止垃圾邮件在您的网站上的最佳方式,至少如果您不必阻止通常烦人的IP地址。
Django CSRF保护旨在保护您的表格免受cross-site request forgery而非垃圾邮件。
CAPTCHA(完全自动公开Turing测试告诉计算机和人类除)将保护您免受自动垃圾邮件。
对于人为生成的垃圾邮件,您可以使用审核系统。
我相信这些问题是在根设计问题。有明确的政策允许谁发帖 可以匿名用户发布。也许只允许注册用户发帖。或者拥有一组关于谁可以发布的地方。
Captchas是清除垃圾邮件的极其简单的方法。 http://www.google.com/recaptcha 从字面上看,Recaptcha只需要几分钟的时间就可以完成整合,而且非常有效。
您可能会看看django-simple-math-captcha作为基于文本的验证码的替代方案。集成非常简单,不依赖任何第三方系统。
谢谢,我的关注也是表现......即使我阻止了内容的创作,我仍然有机器人一遍又一遍地打我的网站...我提出了ip表作为阻止他们进入前门的一种方法最大限度地减少性能影响等... – 2012-02-07 16:30:54