Уважаемые Админы!
Пожалуйста ответьте вот на что:
Стоит Сквид 2.11 стэйблСтоит ограничение -
acl exe urlpath_regex -i \.exe(\?:$)
http_access deny exeпри попытке доступа на сайт онлайн переводчика Мультитран.ру по адресу -
http://multitran.ru/c/m.exe? (итд.)
срабатывает выше описанный запрет, вопрос собственно как разрешить пользователем полбзоваться этим сайтом но запретить все остальные ссылки на .exe?Прописывал -
acl multitran url_regex http://multitran.ru/c/m.exe?
или
acl multitran url_regex http://multitran.ru/c/m.exe(\?:$)
итд. итп.
Далее в Сквид конфе по порядку разрешал сначала Мултитран а потом запрешал .ехе, но почему-то не срабатовало. Может я не правильно пишу или вообще не то пишу и не туда, подскажите пожалуйста.
>Далее в Сквид конфе по порядку разрешал сначала Мултитран а потом запрешал
>.ехе, но почему-то не срабатовало.Да, именно так и нужно.
acl multitran url_regex http://multitran.ru/c/m.exe
acl exe urlpath_regex -i \.exe(\?:$)
http_access allow multiran
http_access deny exe
>>Далее в Сквид конфе по порядку разрешал сначала Мултитран а потом запрешал
>>.ехе, но почему-то не срабатовало.
>
>Да, именно так и нужно.
>
>acl multitran url_regex http://multitran.ru/c/m.exe
>acl exe urlpath_regex -i \.exe(\?|$)
>http_access allow multiran
>http_access deny exeНе работает. Также пробывал писать -
acl multitran url_regex http://multitran.ru/c/m.exe(\?|$)
acl exe urlpath_regex -i \.exe(\?|$)
http_access allow multiran
http_access deny exeне хочет работать, например запрос слова в мултитране "ОК" (полная адресная строка http://multitran.ru/c/m.exe?HL=2&L1=1&L2=2&EXT=0&s=ok) дает опять запрет, что делать? Кто знает как правильно писать?
>>>Далее в Сквид конфе по порядку разрешал сначала Мултитран а потом запрешал
>>>.ехе, но почему-то не срабатовало.
>>
>>Да, именно так и нужно.
>>
>>acl multitran url_regex http://multitran.ru/c/m.exe
>>acl exe urlpath_regex -i \.exe(\?|$)
>>http_access allow multiran
>>http_access deny exe
>
>Не работает. Также пробывал писать -
>acl multitran url_regex http://multitran.ru/c/m.exe(\?|$)
>acl exe urlpath_regex -i \.exe(\?|$)
>http_access allow multiran
>http_access deny exe
>
>не хочет работать, например запрос слова в мултитране "ОК" (полная адресная строка
>http://multitran.ru/c/m.exe?HL=2&L1=1&L2=2&EXT=0&s=ok) дает опять запрет, что делать? Кто знает как правильно писать?
>У меня опечатка, нужно http_access allow multitran (вторую "t" пропустил).
А какой ты вкладываешь смысл в выражение (\?|$) ?
Дебаг ещё можно включить, посмотреть в логах, как работает.
>У меня опечатка, нужно http_access allow multitran (вторую "t" пропустил).
>А какой ты вкладываешь смысл в выражение (\?|$) ?
>Дебаг ещё можно включить, посмотреть в логах, как работает.Так ведь после ехе идет еще куча знаков а (\?|$) означает любые и в любом количестве знаков.
А Сквид ругается именно на http://multitran.ru/c/m.exe?, то есть выдает сообщение типа нельзя идти на "http://multitran.ru/c/m.exe?"
>Так ведь после ехе идет еще куча знаков а (\?|$) означает любые
>и в любом количестве знаков.
Мда? По-разному мы понимаем регулярные выражения.
Всегда думал, что любые и в любом количестве - это ".*" (без кавычек).
И, к примеру, abc матчит и 123abc345, и abc234, и 234abc?13245Я бы предложил следующее:
# разрешить переводчик, с дополнительными параметрами или без них, неважно
acl multitran url_regex http://multitran.ru/c/m.exe# запретить .exe, но только если спереди есть знак "/", то есть
# bla.execute.com - можно, а bla.com/foo.exe - нет
acl exe urlpath_regex /.*\.exehttp_access allow multitran
http_access deny exeНе забудь про ацл-и доступа юзеров.