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` в качестве валидного реферера вы сводите на нет любые попытки валидации реферера. |