1. 程式人生 > >WebApiThrottle限流框架——IP和客戶端key的白名單

WebApiThrottle限流框架——IP和客戶端key的白名單

如果請求是從一個白名單中的IP或客戶端key發起的,那麼限流策略將不會生效,這個請求的所有資訊也不會被儲存。 其IP白名單列表支援IP v4和v6的範圍配置,比如"192.168.0.0/24", "fe80::/10" 和 "192.168.0.0-192.168.0.255",關於IP範圍的更多資訊請檢視https://github.com/jsakamoto/ipaddressrange

config.MessageHandlers.Add(new ThrottlingHandler()
{
    Policy = new ThrottlePolicy(perSecond: 2, perMinute: 60)
    {
        IpThrottling = true,
        IpWhitelist = new List<string> { "::1", "192.168.0.0/24" },

        ClientThrottling = true,
        ClientWhitelist = new List<string> { "admin-key" }
    },
    Repository = new CacheRepository()
});