/// <summary> /// 判断IP地址是否被黑名单 /// </summary> /// <param name="ip"></param> /// <returns></returns> public static bool IsDenyIpAddress(this string ip) { if (IPWhiteList.Contains(ip)) { return(false); } return(DenyAreaIP.SelectMany(x => x.Value).Union(DenyIP.Split(',')).Contains(ip) || DenyIPRange.Any(kv => kv.Key.StartsWith(ip.Split('.')[0]) && ip.IpAddressInRange(kv.Key, kv.Value))); }
/// <summary> /// 判断IP地址是否被黑名单 /// </summary> /// <param name="ip"></param> /// <returns></returns> public static bool IsDenyIpAddress(this string ip) { if (IPWhiteList.Contains(ip)) { return(false); } return(DenyIP.Contains(ip) || DenyIPRange.AsParallel().Any(kv => kv.Key.StartsWith(ip.Split('.')[0]) && ip.IpAddressInRange(kv.Key, kv.Value))); }