User-Agent Whitelist with DNS Reverse Resolve
Содержание |
Обзор
Модуль Whitelist проверяет поле User Agent запроса и использует обратный поиск DNS (reverse DNS lookup). Запросы, попадающие под условия белого списка, пропускаются при обработке в соответствующих модулях безопасности:
Обратный поиск DNS заключается в определении доменного имени клиента по IP-адресу.
Если доменное имя соответствует заданному шаблону, белый список устанавливает переменную в значение true. Обратный поиск DNS предназначен для распознавания ботов, использующих User Agent известных роботов.
Можно задать несколько белых списков для использования в разных модулях.
Эта функция появилась в версии 1.5.11.
Директивы
whitelist_ua
Синтаксис | whitelist_ua $variable { ... } |
По умолчанию | |
Контекст | http |
Создать белый список на основе User Agent
Пример:
whitelist_ua $ua_wl { "baiduspider"; "googlebot"; }
Включить обратный поиск DNS:
resolver 10.5.1.204 ipv6=off; resolver_timeout 5s; whitelist_ua $ua_wl_dns { "baiduspider" ".*\.baidu\.com"; "googlebot" ".*\.google\.com"; }
Игнорировать регистр:
resolver 10.5.1.204 ipv6=off; resolver_timeout 5s; whitelist_ua $ua_wl_dns { caseless; "baiduspider" ".*\.baidu\.com"; "googlebot" ".*\.google\.com"; }
Переменные, определенные в модуле белого списка, могут быть использованы в других модулях безопасности, а также в операторах 'if' в блоках location (но не в операторах 'if' в блоках server)
Пример:
# В модуле Cookie Poisoning: cookie_poisoning_whitelist ua_var_name=ua_wl_dns; # В операторе if: if ($ua_wl_dns) { # сделать что-то доброе } # Иначе # Сделать дополнительные проверки безопасности
Смотрите документацию других модулeй безопасности по использованию белого списка на основе User Agent.