Приветствую
Читаю и не понимаю отличие в скорости работы двух переменных:
- 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
# есть еще другие варианты, но хотелось бы получить представление о работе именно этих двух.
Что посоветуете?