ПРОЕКТЫ 


  АРХИВ 


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: nginx-0.1.43 parser error



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




 




Copyright © Lexa Software, 1996-2009.