Cloudflare имеет множество механизмов позволяющий блокировать доступ к сайту или определенной странице по различным условиями, в том числе по User-Agent браузера.
Есть несколько способов блокировки доступа к сайту по User-Agent.
Все настройки ограничения доступа производятся в настройках межетевого экрана Cloudflare: Настройки сайта - Firewall - Firewall Rules
Блокировка доступа к сайту по полному User-Agent в Cloudflare
В качестве поля (Field) для блокировки, выбираем "User Agent".
Выбираем Оператор (Operator) - equals
в поле Value указываем User-Agent который мы хотим заблокировать.
в качестве действия (action) выбираем блокировка (Block)
Сохраняем правило, через несколько секунд оно станет активно.
Блокировка доступа к сайту по части User-Agent в Cloudflare
Когда необходимо заблокировать user-agent по его части, к примеру когда программное обеспечение, которое обращается к сайту, имеет несколько версий.
Для примера возьмем Wpscan: WPScan v3.x, WPScan v2.x
мы можем заблокировать доступ по определенной подстроке, которая входит в user-agent
В качестве поля (Field) для блокировки, выбираем "User Agent".
Выбираем Оператор (Operator) - contains
в поле Value указываем User-Agent или его часть который мы хотим заблокировать.
Блокировка доступа к сайту по User-Agent с использованием регулярных выражений
Для использования регулярных выражений, необходимо переключить настройки правила в расширенный режим "Edit expression"
После этого мы можем создать правило блокировки.
Для примера тот же WpScan:
1 | lower(http.user_agent) matches "^wpscan v[2-3].x$" |
Строку user-agent переводим в нижний регистр.