squid3用字母阻止url

时间:2015-11-27 09:06:20

标签: regex squid

我在使用阻止Squid中的URLS的正则表达式时遇到问题。

acl porn url_regex "/etc/squid3/porn.txt"
http_access deny porn

porn.txt看起来像那样

.sex.com
.redtube.com

问题是这是REGEX规则,并且在这一点上意味着,Squid将阻止包含相同字母的所有URL,例如

www.SamE-Xantipa.COM -> contain .sex.com  
www.REaDy-for-shop-TUBEs.COM -> contain .redtube.com

我不知道REGEX syntanx,也不知道如何重写文本文件只搜索整个文本

2 个答案:

答案 0 :(得分:0)

您可以按域阻止:

acl porn dstdomain -i "/etc/squid3/porn.txt"
http_access deny porn

或者由Regex阻止:

acl porn url_regex -i "/etc/squid3/porn.txt"
http_access deny porn

其中/etc/squid3/porn.txt文件内容可以是:

domains\.com
www\.porn\.net
porn\.com

答案 1 :(得分:0)

你的问题就是小点!

点“。”在正则表达式实际上可以是“任何东西”。

你需要把倒置的破折号。

所以,而不是:

.sex.com
.redtube.com

你必须把:

\.sex\.com
\.redtube\.com

我还建议你阻止这种方式来涵盖所有可能性:

^http://.*\.*sex\.com/*.*
^http://.*\.*redtube\.com/*.*

让我解释一下你告诉鱿鱼这个正则表达式:

  


  ^ =这是网址的开头

       http:// =是总是需要的协议

       。例如,任何东西都可以是子域或www   * = BEFORE(子域名或www)的表达式可能发生或不发生。
  \ =下一个字母不是“任何东西”,而是一个真正的点

       。 =真正的点...

  * = ......可能发生或不发生

       性别=域

       。 =下一个字符是一个真正的真实点再次

       com =顶级域名

       / * =可能发生或不发生的破折号(此处涵盖所有可能的网站配置)

       。* =在最后一次冲刺后发生或不发生任何事情(/index.php,等等)(

我希望这有助于您了解一些关于正则表达式以及如何有效阻止网站的事情!