Referer#
Позволяет блокировать доступ к сайту для запросов с неверными значениями поля Referer в заголовке. Следует иметь в виду, что подделать запрос с нужным значением поля Referer не составляет большого труда, поэтому цель использования данного модуля заключается не в стопроцентном блокировании подобных запросов, а в блокировании массового потока запросов, сделанных обычными браузерами. Нужно также учитывать, что обычные браузеры могут не передавать поле Referer даже для верных запросов.
При сборке из исходного кода модуль собирается по
умолчанию; его можно отключить с помощью
параметра сборки --without-http_referer_module.
В пакетах и образах из наших репозиториев модуль
включен в сборку. По умолчанию server, location Задает размер корзины хэш-таблиц со значениями По умолчанию server, location Задает максимальный размер хэш-таблиц со значениями По умолчанию — server, location Задает значения поля Параметры могут быть следующие: поле поле в поле задает имя сервера и необязательное начало URI. В начале или конце имени сервера может быть "*". При проверке порт сервера в поле в начале должен быть символ "~". Необходимо учитывать, что на совпадение с выражением будет проверяться текст, начинающийся после " Пример: Пустая строка, если значение поля Пример конфигурации#
valid_referers none blocked server_names
*.example.com example.* www.example.org/galleries/
~\.google\.;
if ($invalid_referer) {
return 403;
}
Директивы#
referer_hash_bucket_size#
referer_hash_bucket_size размер;referer_hash_bucket_size 64;Referer. Подробнее настройка хэш-таблиц обсуждается отдельно.referer_hash_max_size#
referer_hash_max_size размер;referer_hash_max_size 2048;Referer. Подробнее настройка хэш-таблиц обсуждается отдельно.valid_referers#
valid_referers none | blocked | server_names | строка ...;Referer заголовка запроса, при которых встроенная переменная $invalid_referer будет иметь пустую строку в качестве значения. В противном случае значение переменной равно "1". Поиск совпадения производится без учета регистра символов.noneReferer в заголовке запроса отсутствует;blockedReferer в заголовке запроса присутствует, но его значение удалено межсетевым экраном (firewall) или прокси-сервером; к таким значениям относятся строки, не начинающиеся на "http://" или "https://";server_namesReferer заголовка запроса указано одно из имен сервера;произвольная строкаReferer игнорируется;регулярное выражениеhttp://" или "https://".valid_referers none blocked server_names
*.example.com example.* www.example.org/galleries/
~\.google\.;
Встроенные переменные#
$invalid_referer#Referer заголовка запроса считается правильным, иначе "1".