Консультация № 187160
12.02.2013, 11:24
127.04 руб.
0 3 0
Здравствуйте! У меня возникли сложности с таким вопросом:

Нужна консультация по настройке SQUID на предмет закрытия доступа к определённой странице.
Как сделать, чтобы, к примеру, ссылку https://rfpro.ru/forum/24 видеть было можно, а ссылку https://rfpro.ru/forum/24/297 уже видеть было нельзя?

Обсуждение

Неизвестный
12.02.2013, 18:43
общий
Было бы лучше, если бы вы показали свой конфиг файл, который вам не узалось заставить работать так как надо.

Без него можно сказать что правило пропускающее "https://rfpro.ru/forum/24/297" должно быть выше в конфиг файле чем правило запрещающее "https://rfpro.ru/forum/24". Ну и использовать правильные регеспы в url_regex.

Например это запретит первый url, всё остальное разрешит
Код:

acl bad-sites url_regexp -i https://rfpro.ru/forum/[0-9]+/[0-9]+
...
http_access deny my-office bad-sites
http_access allow my-office

давно
Мастер-Эксперт
425
4118
13.02.2013, 07:53
общий
Цитата: 16574
Было бы лучше, если бы вы показали свой конфиг файл, который вам не узалось заставить работать так как надо.

Я не могу показать то, чего нет.
Мне как раз нужно узнать принцип, по которому строятся подобные правила, т.е. не запретить сайт целиком, а запретить доступ к одной определённой странице на этом сайте. Так что если Вы подробно напишете, как строить подобные выражения:
Цитата: 16574
url_regexp -i https://rfpro.ru/forum/[0-9]+/[0-9]+

то очень мне поможете.
rfpro я привёл только в качестве примера, не более того.
Об авторе:
Я только в одном глубоко убеждён - не надо иметь убеждений! :)
Неизвестный
13.02.2013, 14:44
общий
13.02.2013, 14:47
В url_regexp применяются регулярные выражения . К сожалению они бывают разные и тут они описаны для squid.
Помоему на rfpro есть целая рассылка по регулярным выражениям.

Если кратко то все части url которые могут изменяться, заменяются специальными символами их описывающие.
В примере что я дал, выражение [0-9]+ обозначает: [0-9] - цифра от 0 до 9, + - предыдущий символ повторяется от одного до бесконечности раз.
Для уверености можно поставить в начале ^ , что обозначает "начало строки", и в конце $ - "конец строки".
Код:

url_regexp -i ^https://rfpro.ru/forum/[0-9]+/[0-9]+$

В этом случает не будут попадать url по типу https://rfpro.ru/forum/123/232/что-угодно.

Если будут конкретные примеры URL что я могу помочь написать регулярные выражения к ним.

PS
Пример из FAQ о том как разрешить определённый URL. Таким же образом можно и запрещать.
http://wiki.squid-cache.org/SquidFaq/SquidAcl#How_can_I_allow_a_single_address_to_access_a_specific_URL.3F
Форма ответа