我正在閱讀有關Rack :: Throttle,我想將默認客戶端標識符從IP更改爲其他某些。該文件說可以完成子類Rack :: Throttle
由Rack :: Throttle存儲和維護的限速計數器是 鍵入唯一的HTTP客戶端。
默認情況下,HTTP客戶端由Rack :: Request#ip返回的IP地址 唯一標識。如果您希望改爲使用更詳細的特定於應用程序的標識符(例如會話密鑰或 用戶帳戶名稱),則只需實施限制策略的子類 實施並覆蓋#client_identifier方法。
我不知道在哪裏添加,在這裏是我目前的另一種方法的子類。有人知道怎麼做這個嗎? https://github.com/datagraph/rack-throttle
module Rack
module Throttle
class DailyRequests < Daily
def allowed?(request)
## Insert rules
super request
end
end
class HourlyRequests < Hourly
def allowed?(request)
## Insert rules
super request
end
end
class RequestInterval < Interval
def allowed?(request)
## Insert rules
super request
end
end
end
end
[覆蓋client_identifier方法](https://github.com/datagraph/rack-throttle/blob/master/lib/rack/throttle/limiter.rb#L157),我想。 – Zabba 2013-03-03 05:49:29