Модуль ngx_http_referer_module

nginx


english
עברית
日本語
русский
türkçe

новости [en]

об nginx
скачать
безопасность [en]
pgp ключи [en]
документация
введение [en]
howto
faq
trac
wiki
ссылки [en]
книги [en]
поддержка
пожертвования [en]
nginx.com
Пример конфигурации
Директивы
     valid_referers

Модуль ngx_http_referer_module позволяет блокировать доступ к сайту для запросов с неверными значениями поля “Referer” в заголовке. Следует иметь в виду, что подделать запрос с нужным значением поля “Referer” не составляет большого труда, поэтому цель использования данного модуля заключается не в стопроцентном блокировании подобных запросов, а в блокировании массового потока запросов, сделанных обычными браузерами. Нужно также учитывать, что обычные браузеры могут не передавать поле “Referer” даже для верных запросов.

Пример конфигурации

valid_referers none blocked server_names
               *.example.com example.* www.example.info/galleries/
               ~\.google\.;

if ($invalid_referer) {
    return 403;
}

Директивы

синтаксис: valid_referers none | blocked | server_names | строка ...;
умолчание:
контекст: server, location

Задаёт значения поля “Referer” заголовка запроса, при которых встроенная переменная $invalid_referer будет иметь значение 0.

Параметры могут быть следующие:

none
поле “Referer” в заголовке запроса отсутствует;
blocked
поле “Referer” в заголовке запроса присутствует, но его значение удалено межсетевым экраном (firewall) или прокси-сервером; к таким значениям относятся строки, не начинающиеся на “http://”;
server_names
в поле “Referer” заголовка запроса указано одно из имён сервера;
произвольная строка
задаёт имя сервера и необязательное начало URI. В начале или конце имени сервера может быть “*”. При проверке порт сервера в поле “Referer” игнорируется;
регулярное выражение
в начале должен быть символ “~”. Необходимо учитывать, что на совпадение с выражением будет проверяться текст, начинающийся после “http://”.

Пример:

valid_referers none blocked server_names
               *.example.com example.* www.example.info/galleries/
               ~\.google\.;