ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: рекурсивное исполнение ssi.



Hello!

On Wed, Aug 18, 2010 at 01:31:13AM +0300, Богун Дмитрий wrote:

> В сообщении от Среда, 18-авг-2010 00:10:09 автор Maxim Dounin написал:
> > > Наставьте пожалуйста на путь истинный, моя это бага или nginx'a? Даже
> > > если  моя, nginx ведет себя весьма не хорошо.
> > 
> > [...]
> > 
> > >       proxy_cache_key "$host$request_uri?$args";
> > 
> > В /test3.php делается инклуд /test2.php, который в свою очередь 
> > достаётся из кеша по ключу, содержащему только $request_uri - 
> > оригинальный uri полученный от клиента, т.е. в данном случае 
> > /test3.php.  В результате имеем бесконечный рекурсивный ssi.
> Вот оно как...
> > Защиты от рекурсии в ssi сейчас нет.
> А можно как-то защититься от подобного на уровне конфига? Потому как то что 
> выплюнут из php не находится под моим прямым контролем и если по ошибке будет 
> происходить такой фокус, будет весьма неприятно.

Способов защититься на уровне конфига я не знаю.  А патч про это я 
постил, по крайней мере для 0.8.*.  Он, правда, не очень хороший, 
надо будет как-нибудь переделать на более прозрачную логику.

> Раз есть проверка на internal, быть может есть и переменная, которая при 
> internal запросе имеет значение true а при внешнем запросе - false, тогда при 
> помощи нее можно идти мимо кеша в подобных.

Переменной нет.  Впрочем, даже если ходить мимо кеша - никто не 
помешает случайно вернуть include на самого себя.  С тем же 
результатом на выходе.

Maxim Dounin

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.