Rails 4重复HTTP POST请求垃圾邮件

时间:2014-09-13 21:55:23

标签: ruby-on-rails ruby post ruby-on-rails-4 spam

我一直在使用rails 4应用程序上的ruby。在大多数情况下,网站已完成,但我发现了一个“安全漏洞”,它允许我通过拦截代理工具(Burp Suite)捕获HTTP POST请求。然后,我可以将此POST请求发送到转发器,并一遍又一遍地重新提交请求。这实际上可以用来滥用我的应用程序和垃圾邮件的人。在我推出此产品之前,我需要解决此问题。这是我需要帮助的地方。我真的想避免使用CAPTCHA,我希望尽可能无缝地保持应用程序的用户流程。那么有什么方法可以阻止HTTP POST请求垃圾邮件?

谢谢

1 个答案:

答案 0 :(得分:0)

rack-attack gem允许您根据机架环境中的任何内容阻止或限制请求。

一个典型的例子是限制用户名的登录尝试次数,您可以使用

Rack::Attack.throttle('logins/email', :limit => 6, :period => 60.seconds) do |req|
  req.params['email']} if req.path == '/login' && req.post?
end

您可以根据需要定义这些限制器(显然在合理范围内)