nginx-0.1.43 parser error

Igor Sysoev is at rambler-co.ru
Thu Sep 22 19:46:34 MSD 2005


On Thu, 22 Sep 2005, Alexander Gnevshev wrote:

> Чтобы:
> - была возможность избавиться от страниц-дублей;

Где - на сайте или в ссылках ?

> - всегда твёрдо знать, что параметры URI в location сравниваются напрямую с 
> URI, пришедшим от пользователя (без преобразований);

Ну, например, частный случай: /page.html и //page.html. Что предлагается
делать со вторым ?

> - иметь полный контроль над URI, чтобы можно было хотя бы в логе увидеть 
> подобные запросы;

%request пишет в лог оригинальный URI.

> - URI не всегда совпадает с директориями на диске. У кого-то через rewrite 
> построены сайты и параметры передаются как директории: 
> www.example.com/search/search_words-sdfsfs%2F../param1-123/param2-312 
> (слишком неграмотный пример получился, но в данном случае пойдет);

     location ~ ^/search/  {
         proxy_pass_unparsed_uri  on;
         proxy_pass               http://localhost/;
     }

> - не навязывать администраторам nginx парсинг URI без возможности его 
> отключения.

А как же URI обратывать, если его не парсить ? Как его потом сравнивать 
с location ?

> Igor Sysoev wrote:
>
>> On Thu, 22 Sep 2005, Alexander Gnevshev wrote:
>> 
>>> Как же тогда избежать проблемы с дублирующимися страницами? Ведь 
>>> получается, что для одной и той же страницы можно построить практически 
>>> неограниченное число URI:
>>> /one/page.html
>>> /one%2F%2E%2E%2Fone/page.html
>>> /one%2F%2E%2E%2Fone%2F%2E%2E%2Fone/page.html
>>> /one%2F%2E%2E%2Fone%2F%2E%2E%2Fone%2F%2E%2E%2Fone/page.html
>>> и др.
>> 
>> 
>> Да, и ещё /one/../two/../one/.////page.html
>> 
>>> Можно ли как-нибудь выдавать на "кривые" URI 404-ю ошибку?
>>> Другими словами: можно ли в location настроить обработку unparsed uri?
>>> Возможно, кому-то будет интересна и такая логика: сервер на "кривые" URI 
>>> выдаёт 301 с правильным URI.
>> 
>> 
>> А зачем ?


Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list