c# IP范围过滤器
本文关键字:过滤器 范围 IP | 更新日期: 2023-09-27 18:13:45
我想从我的*中排除内容。
指定IP地址范围内的用户。string ipRange = @"^12'.345'.678'.(2(4[0-9]|5[0-5]))$";
if (!System.Text.RegularExpressions.Regex.IsMatch(Request.UserHostAddress.ToString(), System.Text.RegularExpressions.Regex.Escape(ipRange))){//BLOCKED CONTENT GOES HERE}
我在正则表达式方面很弱,所以我作弊并使用谷歌的IP范围工具得到了模式
在这个例子中,它没有有效地阻塞12.345.678.254
我错过了什么?
提前感谢!
你不应该转义正则表达式:
System.Text.RegularExpressions.Regex.Escape(ipRange)
应:ipRange
如果转义,则所有字符都变为文字,因此例如[0-9]
不再匹配0到9中的数字,而是匹配由[
, 0
, -
, 9
, ]
组成的字符串。