Как сайты обнаруживают ботов и автоматизированные браузеры
Боты заполняют формы регистрации, злоупотребляют промокодами, собирают цены и перебирают украденные пароли. Большинство из них работает на настоящих браузерных движках под управлением скриптов, поэтому простая проверка User-Agent их уже не ловит. Вот как работает современное обнаружение, слой за слоем.
Проверьте свой браузер прямо сейчас
Проверяю браузер…
Слой 1: флаги автоматизации
Браузеры под управлением программ, например через Selenium, Puppeteer или Playwright со стандартными настройками, обычно сообщают navigator.webdriver = true; этого требует стандарт WebDriver. Старый headless Chrome еще и называл себя HeadlessChrome в User-Agent. Это самые дешевые проверки, они ловят небрежных ботов, но любой серьезный бот их скрывает.
Слой 2: следы окружения
Headless и виртуализированные браузеры мелочами отличаются от настольного: программный рендерер графики вроде SwiftShader или llvmpipe вместо настоящей видеокарты, окно с нулевым внешним размером, отсутствующие объекты, которые всегда есть в настоящем Chrome, нет голосов синтеза речи или медиаустройств, необычные размеры экрана. У каждого следа есть невинные объяснения, поэтому хорошие системы взвешивают их, а не блокируют по одному.
Слой 3: согласованность и подмена
Боты, которые пытаются выглядеть как люди, меняют значения: распространенный User-Agent, популярный размер экрана, правдоподобное название видеокарты. Изменить все согласованно везде сложно, поэтому обнаружение сравнивает один и тот же факт из разных источников:
- User-Agent в HTTP-заголовке и navigator.userAgent в JavaScript.
- Заголовки Client Hints и navigator.userAgentData.
- Основную страницу и Web Worker или iframe, которые часто сохраняют исходные значения.
- Операционную систему из User-Agent и видеокарту и шрифты, которые реально доступны.
- Остались ли встроенные функции родным кодом браузера или их подменил скрипт.
Противоречие между двумя источниками - гораздо более сильное доказательство, чем любое одно странное значение.
Слой 4: сеть
IP-адрес говорит многое: принадлежит ли он домашнему или мобильному провайдеру или дата-центру; известный ли это VPN, прокси или выход Tor; есть ли он в спам-списках; подходит ли часовой пояс браузера к стране IP. Продвинутые системы также снимают отпечаток TLS-рукопожатия (JA3, JA4) и настроек HTTP/2, которые выдают настоящую клиентскую библиотеку за поддельным User-Agent.
Слой 5: поведение
Наконец, системы следят за тем, как действует посетитель: движение мыши, ритм набора, прокрутка, скорость заполнения форм, сколько аккаунтов создается с одного устройства. Поведение ловит ботов, которые проходят все технические проверки, но ему нужны время и данные, поэтому оно лучше всего работает вместе с предыдущими слоями.
Что это значит для владельца сайта
Ни один отдельный сигнал не надежен, а блокировка по одному дает ложные срабатывания для живых людей с VPN, браузерами приватности или необычным железом. Практичный подход взвешивает несколько сигналов, добавляет препятствия (подтверждение почты, капчу, ручную проверку) только при высокой оценке и защищает важные действия: регистрацию, вход, оплату и промокоды.
SpoofLens готовит API и плагин для WordPress / WooCommerce, которые будут возвращать такую оценку вместе с причинами. Проверка на этой странице показывает, что уже сегодня находит браузерная часть.
Частые вопросы
- Достаточно ли капчи?
- Самой по себе нет. Сервисы решения капч и современный ИИ дешево проходят многие капчи. Капча лучше всего работает как дополнительное препятствие для посетителей, которые уже выглядят подозрительно, а не как единственный барьер.
- Будет ли защита от ботов блокировать моих живых пользователей?
- Может, если блокировать по отдельным сигналам вроде VPN или браузера приватности. Взвешивание нескольких сигналов и запрос дополнительного подтверждения вместо блокировки держат ложные срабатывания на низком уровне.
- SpoofLens блокирует ботов на моем сайте?
- Пока нет. Сегодня проверка показывает сигналы одного браузера. API для сайтов и плагины готовятся, записаться в лист ожидания можно на главной.
Читайте также
- Отпечаток браузера: что это такое и как он работает
- Отпечатки canvas, WebGL и аудио: как они работают
- Утечка WebRTC: что это такое и как проверить свой браузер
- Часовой пояс против IP: почему сайты замечают ваш VPN
- Как сайты распознают антидетект-браузеры
- User-Agent Client Hints: что пришло на смену строке User-Agent