weranda
@weranda

В Apache есть две переменные — SetEnvIfNoCase и BrowserMatchNoCase. Какая лучше/быстрее?

Приветствую

Читаю и не понимаю отличие в скорости работы двух переменных:
  1. SetEnvIfNoCase;
  2. 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

# есть еще другие варианты, но хотелось бы получить представление о работе именно этих двух.

Что посоветуете?
  • Вопрос задан
  • 982 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы