说我有这样的油门:
throttle('emails/ip', :limit => 5, :period => 24.hours) do |req|
if req.path == '/users/check_email_availability' && req.post?
req.ip
end
end
如果某人在受到限制后仍在尝试访问该链接,会发生什么?他们会再被封锁24小时吗?或者宝石只会查看他们最近的5个请求?什么时候他们没有节流?
答案 0 :(得分:1)
每个返回truthy
值的请求都会使用时间戳进行缓存,即使请求被阻止也是如此。要确定请求是否被阻止,rack-attack
会在:period
时间范围内对请求进行计数。
因此rack-attack
不会阻止:period
。相反,它会计算:period
内的所有请求,如果此计数大于:limit
,则会阻止请求。