Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: не обрабатывается локейшн
- To: nginx-ru@xxxxxxxxx
- Subject: Re: не обрабатывается локейшн
- From: Anton Yuzhaninov <citrin@xxxxxxxxx>
- Date: Thu, 31 May 2012 17:35:59 +0400
- In-reply-to: <CAFGLPOczXudwaOfKFMx00S=Sp8iKs2g-CX_ajBqzLpi4+qPTJg@mail.gmail.com>
- References: <CAFGLPOczXudwaOfKFMx00S=Sp8iKs2g-CX_ajBqzLpi4+qPTJg@mail.gmail.com>
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 mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|