Re: не обрабатывается локейшн
Anton Yuzhaninov
citrin на citrin.ru
Чт Май 31 13:35:59 UTC 2012
On 05/31/12 17:21, Denis Kot wrote:
> Требудется запретить доступ к любому урлу в котором встречается
> /etc/passwd (не спрашивайте зачем, этого захотел клиент)
> Nginx стоит древний, 0.6.33. Обновить пока не представляется
> возможным, но если придется - сделаем.
> пробовал уже по всякому. основная идея:
>
> location ~* ^.*/etc/passwd.*$
> {
> deny all;
> }
>
> так вот если набрать http://site.ru/etc/passwd, то работает, но если
> набрать, например, http://site.ru/ny-wie/mlog.html?screen=etc/passwd
> то нифига, пропускается дальше на бекенд и уже бекенд ругается на 404.
> Что не так?
Аргументы запроса не учитываются при поиске location
Можно попробовать добавить еще
if ($args ~ "/etc/passwd") {
return 403;
}
Только смысла в этом мало.
Путь к /etc/passwd можно задать кучей разных способов
/etc/passwd /etc//passwd /etc/X11/../passwd /etc/././passwd и т. п. и все это
регекспами не запретишь.
--
Anton Yuzhaninov
Подробная информация о списке рассылки nginx-ru