Re: Re[2]: проблема с error_page

Sergey Shepelev temotor at gmail.com
Sun Nov 8 16:21:53 MSK 2009


2009/11/8 Михаил Монашёв <postmaster at softsearch.ru>:
> Здравствуйте, Максим.
>
>>> Проблема с error_page осталась, но другая.
>>>
>>> Сейчас конфиг для раздачи фавиконов сайтов вот такой:
>>>
>>>         proxy_intercept_errors  on;
>>>         error_page      400 401 402 403 404 405 406 407 408 409
>>> 410 411 412 413 414 415 416 417 422 423 424 425 426 449 500 501 502
>>> 503 504 505 506 507 509 510 = /zero;
>>>
>>>         location / {
>>>                 return 204;
>>>         }
>>>
>>>         location = /zero {
>>>                 return 204;
>>>         }
>>>
>>>         # aa.ru
>>>         location ~ "^/([a-z0-9-]{1,50}\.[a-z]{2,4})$" {
>>>                 proxy_set_header        Host    $1;
>>>                 proxy_pass              http://$1/favicon.ico;
>>>         }
>>>
>>>         # bb.aa.ru
>>>         location ~
>>> "^/([a-z0-9-]{1,50\}.[a-z0-9-]{1,50}\.[a-z]{2,4})$" {
>>>                 proxy_set_header        Host    $1;
>>>                 proxy_pass              http://$1/favicon.ico;
>>>         }
>>>
>>>         # cc.bb.aa.ru или 111.222.33.44
>>>         location ~
>>> "^/([a-z0-9-]{1,50}\.[a-z0-9-]{1,50}\.[a-z0-9-]{1,50}\.[a-z0-9]{1,4})$"
>>>                 proxy_set_header        Host    $1;
>>>                 proxy_pass              http://$1/favicon.ico;
>>>         }
>>>
>>>
>>> Но не знаю как решить проблему с отключением проксирования редиректов.
>>> error_page на 300-ые статусы ругается. И редиректы проксируются юзеру.
>>> Что  не мешает хакеру средиректить на страничку, где выдадут 401 код и
>>> юзер  вместо  фавиконки  увидит  окно  http-авторизации.  Ну  а дальше
>>> доверчивые юзеры вводят свои пароли...
>
> MD> У меня есть два замечания:
>
> MD> 1. Задачу замены 3xx через error_page я в свое время решал для
> MD> wap-сайтов (wml, ага, чтобы бекенды не конфигурировать лишнего).
> MD> Где-то у меня на сайте валяется патч, но он для 0.5.*.  На текущие
> MD> версии скорее всего не ляжет.
>
> Пока решил проблему через
> proxy_hide_header       Location;
>
> Но это криво: неверный статус и ненужное html-тело.
>
> MD> 2. Если я правильно понимаю что ты хочешь сделать - тебе нужно не
> MD> это, а image_filter.  Потому как вместо картинки отдать exploit -
> MD> точно так же никто не мешает, надо содержимое хотя бы минимально
> MD> проверять.
>
> Да,  он  для  этой  задачи  как раз идеален. Но favicon.ico имеют свой
> формат  и  я  всегда  буду  получать  415 код. Было б здорово добавить
> поддержку ICO в модуль, ибо этот формат в вебе тоже используется.
>

Нет, /favicon.ico это просто имя ресурса. Формат определяется
исключительно content-type.

Можно раздавать гифы, жпеги, всё что угодно. И оно будет работать. Ну,
конечно, кроме старых браузеров.
http://www.spamobzor.ru/ здесь, например, PNG выступает в роли favicon.

> --
>
> С уважением,
> Михаил Монашёв, SoftSearch.ru
> mailto:postmaster at softsearch.ru
> ICQ# 166233339
> http://michael.mindmix.ru/
> Без бэкапа по жизни.
>
>
>


More information about the nginx-ru mailing list