这个Squid正则表达式过滤规则如何工作?

时间:2009-03-10 06:34:16

标签: regex filter squid

在我们的Squid服务器上,管理员已经制定了新的正则表达式规则:

^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+

我知道它代表IP地址,但它允许所有URL通过,只有ping外部地址已经停止。此外,像UltraSurf这样的隧道软件也已停止连接到服务器。 Skype也没有连接。

请解释一下这是如何运作的!感谢。

2 个答案:

答案 0 :(得分:1)

我不确定您对Squid服务器的特殊问题,但这是正则表达式的作用:

[0-9]+表示“任何数字一次或多次”,因此它匹配一个以数字开头一次或多次的字符串,后跟一个点,后跟一个数字一次或多次,然后是一个点,后跟一个数字一次或多次,然后是点,然后是数字一次或多次......然后是其他任何东西。从本质上讲,它匹配任何IP地址,因此不会过滤任何东西。它还会匹配甚至不是有效IP地址的内容,例如123456.123456.123456.1234561.1.1.1125.252.252.252asdf

答案 1 :(得分:0)

Paolo很好地解释了正则表达式的含义!如上所述,目前正在使用的正则表达式太弱(或者我应该说限制太多了!)

如果您想要更好的Regex匹配IP地址,请参阅this page