В Apache есть две переменные — SetEnvIfNoCase и BrowserMatchNoCase. Какая лучше/быстрее?
Приветствую
Читаю и не понимаю отличие в скорости работы двух переменных:
SetEnvIfNoCase;
BrowserMatchNoCase.
Первая, как я понимаю, ищет/берет сразу несколько параметров и можно выбрать какой именно параметр нужен (user-agent, host и прочие), а вторая ищет/берет только user-agent. Если абстрагироваться, то получается так, что если надо использовать какое-то из правил в файле .htaccess, то при первом варианте поиска user-agent (SetEnvIfNoCase) будет выполнено минимум на одну операцию больше (поиск всех данных и вычленение из них user-agent), а при втором варианте (BrowserMatchNoCase) только одна операция. И в первом случае будет израсходовано больше ресурсов (экономия на спичках, но все же, мне это интересно).
Пытаюсь выбрать один из нескольких вариантов блокировки нежелательных ботов и из-за поверхностного представления работы Apache, сложно определиться.
Есть такие варианты:
# вариант 1 SetEnvIfNoCase User-Agent «yandex.ru» fuck_you SetEnvIfNoCase User-Agent «google.ru» fuck_you… Deny from env=fuck_you # вариант 2 BrowserMatchNoCase «yandex.ru» fuck_you BrowserMatchNoCase «google.ru» fuck_you… Deny from env=fuck_you # есть еще другие варианты, но хотелось бы получить представление о работе именно этих двух.
Что посоветуете?
Читаю и не понимаю отличие в скорости работы двух переменных:
SetEnvIfNoCase;
BrowserMatchNoCase.
Первая, как я понимаю, ищет/берет сразу несколько параметров и можно выбрать какой именно параметр нужен (user-agent, host и прочие), а вторая ищет/берет только user-agent. Если абстрагироваться, то получается так, что если надо использовать какое-то из правил в файле .htaccess, то при первом варианте поиска user-agent (SetEnvIfNoCase) будет выполнено минимум на одну операцию больше (поиск всех данных и вычленение из них user-agent), а при втором варианте (BrowserMatchNoCase) только одна операция. И в первом случае будет израсходовано больше ресурсов (экономия на спичках, но все же, мне это интересно).
Пытаюсь выбрать один из нескольких вариантов блокировки нежелательных ботов и из-за поверхностного представления работы Apache, сложно определиться.
Есть такие варианты:
# вариант 1 SetEnvIfNoCase User-Agent «yandex.ru» fuck_you SetEnvIfNoCase User-Agent «google.ru» fuck_you… Deny from env=fuck_you # вариант 2 BrowserMatchNoCase «yandex.ru» fuck_you BrowserMatchNoCase «google.ru» fuck_you… Deny from env=fuck_you # есть еще другие варианты, но хотелось бы получить представление о работе именно этих двух.
Что посоветуете?