- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Переиграть и победить: как анализировать конкурентов для продвижения сайта
С помощью Ahrefs
Александр Шестаков
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте. Есть следующая конструкция, которая блокирует конкретный HTTP_USER_AGENT на сайте:
if( strpos( $_SERVER['HTTP_USER_AGENT'], 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.5359.71 Safari/537.36' ) !== FALSE){ exit(); }Подскажите, пожалуйста, как в этом коде сделать чтобы версия Chrome - была переменной
т.е. чтобы и такие блокировались и другие по мере выхода новых версий:
Остальные части USER_AGENT будут неизменными.
P.S. на конкретные разделы сайта лезут сотнями такие "товарищи".
Может есть способ как это реализовать в .htaccess
Следующий код у меня тоже работает, но не знаю как сделать переменным версию Chrome:
<If "%{HTTP_USER_AGENT} == 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.5359.71 Safari/537.36'"> Require all denied </If>Как вариант, просто искать в юзерагенте кусок строки без версии браузера. Я вот ниже набросал примерный код. Если что, не проверял.
if (substr_count($_SERVER['HTTP_USER_AGENT'], 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/')==1) {Ну или гуглите регулярки. А может кто-то и на форуме умеет их быстро писать.
if (preg_match('@Mozilla/5\.0 \(Macintosh; Intel Mac OS X 10_15_7\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/(.*?) Safari/537\.36@smi',$_SERVER['HTTP_USER_AGENT'])) { exit(); }это очень тормозной способ защиты от ддос и другого спамного трафика, который может приводить к отказам в обслуживании
нужно действовать хотя бы через .htaccess и mod_rewrite
это очень тормозной способ защиты от ддос и другого спамного трафика, который может приводить к отказам в обслуживании
нужно действовать хотя бы через .htaccess и mod_rewrite
Можно побольше доводов, про "ОЧЕНЬ" почему apache будет быстрее работать, чем PHP?
Я уж промолчу, что apache будет реагировать на все типы файлов, если nginx не подключен.
Может есть способ как это реализовать в .htaccess
Order Deny,Allow
Deny from env=Macintosh
SetEnvIfNoCase User-Agent "^Mozilla/5\.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537\.36 (KHTML, like Gecko) Chrome/[\d\.]+ Safari/[\d\.]+$" Macintosh
Order Deny,Allow
Deny from env=Macintosh
Спасибо большое!
if(preg_match('#chrome#i', $_SERVER['HTTP_USER_AGENT'])){
header('HTTP/1.1 404 Not Found');
die();
}