private static IpAddressRange GetIpAddressRange(string rule)
        {
            if (rule_cache.TryGetValue(rule, out var addressRange))
            {
                return(addressRange);
            }

            rule_cache[rule] = new IpAddressRange(rule);
            return(rule_cache[rule]);
        }
Exemple #2
0
        public static bool ContainsIp(string rule, string clientIp)
        {
            var ip = ParseIp(clientIp);

            var range = new IpAddressRange(rule);

            if (range.Contains(ip))
            {
                return(true);
            }

            return(false);
        }
        public static bool ContainsIp(List <string> ipRules, string clientIp)
        {
            var ip = ParseIp(clientIp);

            if (ipRules != null && ipRules.Any())
            {
                foreach (var rule in ipRules)
                {
                    var range = new IpAddressRange(rule);
                    if (range.Contains(ip))
                    {
                        return(true);
                    }
                }
            }

            return(false);
        }
        public static bool ContainsIp(List<string> ipRules, string clientIp, out string rule)
        {
            rule = null;
            var ip = ParseIp(clientIp);

            if (ipRules != null && ipRules.Any())
            {
                foreach (var r in ipRules)
                {
                    var range = new IpAddressRange(r);

                    if (range.Contains(ip))
                    {
                        rule = r;
                        return true;
                    }
                }
            }

            return false;
        }