Ruby on rails 限制每个用户的请求数(使用机架攻击和设备)
我正在使用限制请求到特定url Rack attack文档展示了如何通过请求IP或请求参数限制请求,但我想做的是限制每个用户的请求。所以,无论IP是什么,用户都应该能够在一定的时间范围内发出不超过n个请求 我们使用Desive进行身份验证,我想不出一种简单的方法来根据请求唯一地标识用户Ruby on rails 限制每个用户的请求数(使用机架攻击和设备),ruby-on-rails,ruby,devise,throttling,rackattack,Ruby On Rails,Ruby,Devise,Throttling,Rackattack,我正在使用限制请求到特定url Rack attack文档展示了如何通过请求IP或请求参数限制请求,但我想做的是限制每个用户的请求。所以,无论IP是什么,用户都应该能够在一定的时间范围内发出不超过n个请求 我们使用Desive进行身份验证,我想不出一种简单的方法来根据请求唯一地标识用户 我应该在会话/cookie中存储用户id吗?也许是一个统一的哈希?你认为最好的方法是什么?找到了答案。Desive已在会话中存储用户id。代码将类似于: Rack::Attack.throttle('someth
我应该在会话/cookie中存储用户id吗?也许是一个统一的哈希?你认为最好的方法是什么?找到了答案。Desive已在会话中存储用户id。代码将类似于:
Rack::Attack.throttle('something', limit: 6, period: 60.seconds) do |req|
req.env['rack.session']["warden.user.user.key"][0][0] if some_condition?
end
ddgd,您能告诉我如何检查
请求内容类型
吗,例如限制响应
方法中的应用程序/javascript
或文本/html
?