处理垃圾邮件发送者不需要的POST数据的最佳方式是什么?

问题描述:

我的Ruby on Rails博客应用程序正在针对特定博客文章收到大量垃圾评论,即使评论已关闭且评论表单已不存在。评论由Akismet过滤,因此它们不可见,但我不确定我的应用如何最好地响应这些请求。处理垃圾邮件发送者不需要的POST数据的最佳方式是什么?

我想过简单地重定向到帖子页面,或者用HTTP 404或422响应。你认为最好的行动方式是什么?

如果你唯一的目标是阻止企图垃圾邮件发送者,任何错误结果代码都可以。无论如何,垃圾邮件制造者软件甚至不会去看它。

由于您不再接受评论,您希望尽可能少地使用这些请求。

只要您检测到POST请求,就返回404代码或仅关闭连接。

让你的动作像action="/some-strange-post-address-41345234523-something" 并使用javascript添加动作属性。

大多数垃圾邮件发送者不运行JavaScript引擎(因为它是很难开发一个),这样他们就不会知道这个动作地址张贴信息的...

为我的博客从10减少垃圾邮件每012日 20个消息至2-3每,并且它们全部似乎被真实人类添加。

+0

这是一个很好的技术,但虽然我的评论系统使用AJAX,但如果JavaScript被关闭,我想让它仍然有效。 – 2009-09-15 10:42:39

+2

永远不要以为用户有JS。例如,我的手机根本没有JS,而且我在启用NoScript的情况下浏览网页。这样你就不会允许我发表评论。 – 2009-09-15 10:45:02

既然你已经在应用程序的控制,你可以简单地忽略了评论文章,反正返回一个200码。为什么要给垃圾邮件发送者提供有问题的信息?

如果您想尝试其他技术来预防未来的垃圾邮件,我已与Stopping Spambots with Hashes and Honeypots祝您好运。

+0

这是一个非常有趣的问题,甚至没有指出问题。 – 2009-09-15 11:01:10