2015-11-27 2 views
-1

У меня проблема с регулярным выражением, используемым для блокировки URL-адресов в Squid.squid3 blocks url by

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, и не знаю, как переписать текстовый файл только для поиска всего текста только

+1

Возможно, эта ссылка на примеры регулярных выражений SquidGuard (http://www.squidguard.org/Doc/Examples/08.expressionlist) может быть полезной. –

+0

, вероятно, нет ... потому что я не понимаю синтаксиса ... поэтому я не могу прочитать, что он делает ... И у меня есть собственные слова (домен), чтобы блокировать ... их нет. Не могли бы вы переписать для меня мои упоминания URL? благодаря – user5332

ответ

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 
0

Ваша проблема в точки!

Точка "." в регулярном выражении фактически может быть «что угодно».

Вам нужно поместить перевернутые штрихи.

Таким образом, вместо того, чтобы:

.sex.com 
.redtube.com 

Вы должны поставить:

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

Я также рекомендую вам блокировать этот путь, чтобы охватить все возможности:

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

Пусть я объясню, что вы говорите кальмару, чтобы сделать это регулярное выражение:


^ = это начало URL-адрес

HTTP: // = это протокол, который всегда требуется

. = Что-нибудь, например, может быть поддомен или WWW

* = выражение ДО (субдомен или WWW) может произойти или не

\ = следующий символ не «ничего», но реальная точка

. = Реальная точка ...

* = ..., что может произойти или не

секс = домен

. = Следующий символ является реальной реальной точкой снова

ком = домен верхнего уровня

/* = прочерк, что может произойти или нет (охватывающий все конфигурации возможных веб-сайтов здесь)

.* = Все, что может случиться или нет после последнего тире (/index.php, бла-бла)

Я надеюсь, что это поможет вам понять немного о регулярных выражениях и как блокировать сайты efficently!