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