- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте, подскажите, пожалуйста как правильно прописать User-Agent.
В справочном центре хостинга приводится пример блокировки по User-Agent (версия Apache 2.4) :
SetEnvIfNoCase User-Agent MJ12Bot bad_bot
<Limit GET POST HEAD>
Require all granted
Require not env bad_bot
</Limit>
На мой вопрос в техподдержку – “как правильно указать User-Agent состоящий из нескольких составляющих”, - меня культурно “отправили в увлекательное путешествие” по просторам Интернета.
Уже попробовал User-Agent заключать в кавычки
SetEnvIfNoCase User-Agent "Здесь User-Agent из нескольких составляющий" bad_bot
или даже так ( используя ^ )
SetEnvIfNoCase User-Agent "^Здесь User-Agent из нескольких составляющий" bad_bot
никак не блокирует.
Если указать без кавычек и без ^ , то блокируется по первой составляющей до пробела.
lungo, в документации же указано что там должно быть регулярное выражение. Следовательно, как то так:
SetEnvIfNoCase User-Agent "(MJ12Bot|MJ13Bot|MJ14Bot)" bad_bot
То есть все это осталось работать только на хостингах с более старой версией Apache?
Так теперь через .htaccess подобные User-Agent в моем случае уже никак не заблокировать?
Или оно просто по-другому теперь указывается?
Извините, но я в этом особо не силен.
Если в имени юзер агеент пробел - экранировать его обратным слэшем.
Если в имени юзер агеент пробел - экранировать его обратным слэшем.
Подскажите, пожалуйста, как должен выглядеть User-Agent с учетом экранирования.
SetEnvIfNoCase User-Agent "Mozilla/5.0 (Windows NT 6.1; rv:55.0) Gecko/20100101 Firefox/55.0" bad_bot
lungo, перед всеми небуквами и нецифрами поставьте \
lungo, перед всеми небуквами и нецифрами поставьте \
Спасибо. Попробую вечером, как буду у ПК.
Я вчера обратные слеши поставил ВМЕСТО пробелов - разумеется выдало ошибку сервера.
Спасибо, все работает (блокирует что нужно). Немного попрактиковался на своем User-Agent.
Понял, что:
1. Кавычки в данном случае обязательны ( ^ не ставил )!
2. Пробелы не нужно экранировать, нужно только точки, двоеточия, запятые, точки с запятой, скобки, обычные слеши и прочее. В общем как сказано выше - “не буквы и не цифры”.
Для себя, конечно, не понимаю, зачем с обновлением Apache допускать такие усложнения? И как быть тем, у кого все работает под старой версией, а на хостинге вдруг решают обновить на новую версию. Хорошо, если вовремя спохватишься и необходимые изменения внесешь.
P.S. Пошел блокировать “злодеев”. :)