mirror of https://github.com/yandex/gixy
22 lines
2.0 KiB
Markdown
22 lines
2.0 KiB
Markdown
|
# [valid_referers] none in valid_referers
|
|||
|
|
|||
|
Модуль [ngx_http_referer_module](http://nginx.org/ru/docs/http/ngx_http_referer_module.html) позволяет блокировать доступ к сервису для запросов с неверными значениями заголовка запроса `Referer`.
|
|||
|
Зачастую используется для условного выставления заголовка `X-Frame-Options` (защита от ClickJacking), но могут быть и иные случаи.
|
|||
|
|
|||
|
Типичные проблемы при конфигурировании этого модуля:
|
|||
|
* использование `server_names` при не корректном имени сервера (директива `server_name`);
|
|||
|
* слишком общие и/или не корректные регулярные выражения;
|
|||
|
* использование `none`.
|
|||
|
|
|||
|
> На текущий момент, Gixy умеет определять только использование `none` в качестве валидного реферера.
|
|||
|
|
|||
|
## Чем плох none?
|
|||
|
Согласно [документации](http://nginx.org/ru/docs/http/ngx_http_referer_module.html#valid_referers):
|
|||
|
> `none` - поле “Referer” в заголовке запроса отсутствует;
|
|||
|
|
|||
|
Однако, важно помнить, что любой ресурс может заставить браузер пользователя выполнить запрос без заголовка запроса `Referer`, к примеру:
|
|||
|
- в случае редиректа в HTTPS на HTTP;
|
|||
|
- указав соответствующую [Referrer Policy](https://www.w3.org/TR/referrer-policy/);
|
|||
|
- обращение с opaque origin, например, используя схему `data:`.
|
|||
|
|
|||
|
Таким образом, используя `none` в качестве валидного реферера вы сводиде на нет любые попытки валидации реферера.
|