Пассивные методы обнаружения ботов
Пассивные проверки происходят незаметно для пользователя. Они помогают определить, насколько запрос похож на действия реального человека.
Репутация IP-адреса
Cloudflare анализирует репутацию IP-адреса. Учитывается:
- принадлежит ли IP дата-центру или обычному интернет-провайдеру;
- как часто с него отправляются запросы;
- замечался ли адрес ранее в подозрительной активности;
- используется ли VPN или прокси.
Например, IP из крупных дата-центров чаще получают повышенный уровень проверки, чем домашние адреса обычных пользователей.
Анализ HTTP-заголовков
При каждом запросе браузер отправляет HTTP-заголовки. Cloudflare проверяет, насколько они соответствуют заявленному браузеру.
Если User-Agent сообщает, что запрос отправлен из Chrome, но при этом отсутствуют типичные для Chrome заголовки, система может заподозрить автоматизацию.
Также анализируется:
- порядок заголовков;
- наличие
Accept-Language - client hints;
- поддерживаемые типы сжатия;
- другие особенности браузера.
TLS fingerprint
Во время HTTPS-соединения браузер передаёт набор TLS-параметров. На их основе формируется так называемый TLS fingerprint.
Проверяются:
- cipher suites;
- TLS extensions;
- ALPN;
- порядок параметров в handshake.
У каждого браузера есть характерный набор TLS-параметров. Если User-Agent говорит одно, а TLS fingerprint больше похож на Python-библиотеку или headless-клиент, это повышает вероятность блокировки.
Fingerprint HTTP/2
Cloudflare также анализирует особенности работы HTTP/2.
Разные браузеры по-разному формируют HTTP/2-запросы:
- используют разные SETTINGS frames;
- по-разному упаковывают заголовки;
- имеют свои особенности работы с потоками.
Эти различия помогают отличать обычный браузер от автоматизированных инструментов.
Активные методы проверки
Помимо серверного анализа, Cloudflare может выполнять проверки прямо в браузере пользователя через JavaScript.
Browser fingerprinting
Система собирает информацию о браузере и устройстве:
- Canvas fingerprint;
- WebGL;
- разрешение экрана;
- язык системы;
- timezone;
- platform information;
- audio fingerprint.
По отдельности эти параметры не уникальны, но вместе позволяют достаточно точно определить окружение браузера.
Проверка headless-браузеров
Cloudflare ищет признаки автоматизации и headless-режима.
Например, могут проверяться:
navigator.webdriver- Selenium traces;
- Playwright artifacts;
- необычные свойства window;
- признаки DevTools Protocol.
Современные инструменты автоматизации умеют скрывать часть таких признаков, поэтому антибот-системы постоянно обновляют методы проверки.
Анализ поведения пользователя
Дополнительно Cloudflare может анализировать действия пользователя на странице:
- движения мыши;
- клики;
- прокрутку страницы;
- время между действиями;
- переключение вкладок;
- активность клавиатуры.
Слишком «идеальное» или неестественное поведение иногда становится дополнительным сигналом для антибот-системы.
Проверка JavaScript API
Cloudflare также проверяет, насколько браузер соответствует своему User-Agent.
Например:
- существует ли
window.chrome - корректно ли работают browser APIs;
- доступны ли plugins;
- как работает
performance API
Если браузер выдаёт себя за Chrome, но часть функций отсутствует или работает нестандартно, это может выглядеть подозрительно.