Автоматизированные инструменты¶
Эта группа настроек включает проверки на использование инструментов автоматизации браузеров. Боты часто используют эти инструменты для имитации действий реальных пользователей.
Что такое автоматизация браузеров
Автоматизация браузеров — это программное управление браузером для выполнения действий без участия человека. Боты используют автоматизацию для накрутки просмотров, кликов, регистраций и других действий.
Использование на серверах в РФ
Все проверки автоматизированных инструментов (Selenium, Puppeteer, WebDriver и др.) выполняются на серверах BotSafe, расположенных в России. Данные обрабатываются локально на российских серверах без передачи за пределы РФ.
WebDriver (webdriver.enabled)¶
Параметр: webdriver.enabled
Тип: Включено/Выключено
Значение по умолчанию: Включено
Что это такое?¶
Проверка на использование WebDriver API — стандартного интерфейса для автоматизации браузеров, определённого консорциумом W3C.
Как работает проверка?¶
Система проверяет наличие следующих признаков WebDriver:
- Свойство
navigator.webdriver— основное свойство, которое устанавливается при использовании WebDriver - Дополнительные свойства — другие признаки использования WebDriver API
- Аномалии в поведении браузера — отличия в работе стандартных API
Пример детекции
Когда бот использует Selenium WebDriver, в браузере автоматически устанавливается свойство navigator.webdriver = true. Система BotSafe обнаруживает это свойство и помечает посетителя как бота.
Что такое WebDriver?¶
WebDriver — это стандартный протокол для автоматизации браузеров, разработанный консорциумом W3C. Он используется такими инструментами, как:
- Selenium WebDriver
- Chrome DevTools Protocol
- Firefox Marionette
- И другие инструменты автоматизации
Ссылки: - W3C WebDriver Specification - Selenium WebDriver Documentation
Зачем это нужно?¶
Боты часто используют WebDriver для автоматизации действий в браузере. Обнаружение WebDriver позволяет выявить большую часть автоматизированного трафика.
Эффективность
Эта проверка имеет высокий приоритет (вес 0.95) и рекомендуется для включения на всех сайтах, так как WebDriver — один из самых распространённых инструментов автоматизации.
Рекомендации¶
✅ Рекомендуется включить для большинства сайтов. Это одна из самых эффективных проверок для выявления ботов.
Ложные срабатывания
В редких случаях некоторые легитимные инструменты (например, для тестирования) могут использовать WebDriver. Если у вас есть такие инструменты, рассмотрите возможность их исключения через блоклисты.
Headless браузеры (headless.enabled)¶
Параметр: headless.enabled
Тип: Включено/Выключено
Значение по умолчанию: Включено
Термины
См. также: Headless Browser
Что это такое?¶
Проверка на обнаружение headless-браузеров — браузеров без графического интерфейса, которые управляются программно.
Как работает проверка?¶
Система выявляет различные признаки работы в headless-режиме:
- Отсутствие или неполная реализация WebGL — headless-браузеры часто имеют ограниченную поддержку WebGL
- Аномалии в работе Canvas API — отличия в рендеринге Canvas
- Отсутствие плагинов браузера — headless-браузеры обычно не имеют плагинов
- Нестандартные значения свойств
navigator— отличия в свойствах объекта navigator - Отличия в работе медиа-устройств — отсутствие или неполная реализация медиа-API
Пример детекции
Headless-браузер Chrome обычно не имеет доступа к WebGL или имеет ограниченную реализацию. Система проверяет наличие WebGL и его корректную работу. Если WebGL отсутствует или работает некорректно, это может указывать на headless-режим.
Что такое headless-браузер?¶
Headless-браузер — это браузер без графического интерфейса, который работает в фоновом режиме и управляется программно. Популярные headless-браузеры:
- Chrome Headless
- Firefox Headless
- PhantomJS (устаревший)
Ссылки: - Chrome Headless Documentation - Firefox Headless Mode
Зачем это нужно?¶
Headless-браузеры позволяют ботам работать быстрее и эффективнее, так как не нужно отрисовывать графический интерфейс. Обнаружение headless-режима помогает выявлять скрытые автоматизированные действия.
Эффективность
Обнаружение headless-браузеров — одна из самых эффективных проверок, так как большинство ботов используют именно headless-режим для экономии ресурсов.
Рекомендации¶
✅ Рекомендуется включить для большинства сайтов. Это эффективная проверка для выявления автоматизированного трафика.
Puppeteer (puppeteer.enabled)¶
Параметр: puppeteer.enabled
Тип: Включено/Выключено
Значение по умолчанию: Включено
Термины
См. также: Puppeteer
Что это такое?¶
Специальная проверка на использование Puppeteer — популярного инструмента для автоматизации браузеров на основе Chromium, разработанного командой Google Chrome.
Как работает проверка?¶
Система проверяет наличие специфических признаков Puppeteer:
- Свойство
window.chromeс характерными признаками Puppeteer - Наличие
navigator.pluginsс характерными признаками - Специфические методы и свойства, добавляемые Puppeteer в объекты браузера
- Аномалии в работе Chrome DevTools Protocol
Пример детекции
Puppeteer добавляет специфические свойства в объект window.chrome, которые отличаются от обычного Chrome. Система проверяет эти свойства и обнаруживает использование Puppeteer даже при попытках маскировки.
Что такое Puppeteer?¶
Puppeteer — это Node.js библиотека для управления браузером Chrome или Chromium через Chrome DevTools Protocol. Puppeteer позволяет:
- Генерировать скриншоты и PDF
- Автоматизировать формы и взаимодействия
- Тестировать веб-приложения
- Парсить веб-страницы
Ссылки: - Официальный сайт Puppeteer - GitHub Puppeteer - Документация Puppeteer
Зачем это нужно?¶
Puppeteer — один из самых популярных инструментов для автоматизации, и боты часто его используют. Эта проверка позволяет точно определить использование Puppeteer даже при попытках маскировки.
Популярность
Puppeteer широко используется ботами из-за своей простоты и эффективности. Обнаружение Puppeteer помогает выявить значительную часть автоматизированного трафика.
Рекомендации¶
✅ Рекомендуется включить для большинства сайтов. Это важная проверка для выявления автоматизированного трафика.
User-Agent (userAgent.enabled)¶
Параметр: userAgent.enabled
Тип: Включено/Выключено
Значение по умолчанию: Включено
Что это такое?¶
Проверка подозрительных строк User-Agent. User-Agent содержит информацию о браузере и операционной системе посетителя.
Как работает проверка?¶
Система анализирует User-Agent на предмет:
- Устаревших значений — браузеры, которые больше не поддерживаются
- Нестандартных форматов — значения, не соответствующие стандартному формату User-Agent
- Несоответствий — значения, не соответствующие реальному браузеру
- Известных ботов — User-Agent известных ботов и автоматизированных инструментов
Примеры подозрительных User-Agent
Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)— известный ботMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36— неполный User-Agent- Устаревшие версии браузеров, которые больше не существуют
Что такое User-Agent?¶
User-Agent — это строка, которую браузер отправляет серверу и которая содержит информацию о: - Названии и версии браузера - Операционной системе - Устройстве (для мобильных) - Дополнительных параметрах
Формат User-Agent:
Зачем это нужно?¶
User-Agent может многое рассказать о посетителе. Необычные значения могут указывать на ботов или автоматизированные инструменты. Эта проверка помогает выявлять аномальные браузерные сигнатуры.
Базовая проверка
Проверка User-Agent — это базовая проверка, которая выполняется быстро и помогает выявлять подозрительные браузеры на раннем этапе.
Рекомендации¶
✅ Рекомендуется включить для большинства сайтов. Это базовая проверка, которая помогает выявлять подозрительные браузеры.
PhantomJS (phantom.enabled)¶
Параметр: phantom.enabled
Тип: Включено/Выключено
Значение по умолчанию: Включено
Что это такое?¶
Проверка на обнаружение PhantomJS — устаревшего headless-браузера, который часто использовался ботами в прошлом.
Как работает проверка?¶
Система проверяет наличие специфических признаков PhantomJS:
- Свойство
window.callPhantom— специфическое свойство PhantomJS - Свойство
window._phantom— внутреннее свойство PhantomJS - User-Agent — характерный User-Agent PhantomJS
- Другие специфические признаки PhantomJS в объектах браузера
Пример детекции
PhantomJS добавляет свойство window.callPhantom в объект window. Система проверяет наличие этого свойства и обнаруживает использование PhantomJS.
Что такое PhantomJS?¶
PhantomJS — это headless-браузер на основе WebKit, который использовался для автоматизации браузеров. Проект официально прекратил разработку в 2018 году.
Ссылки: - PhantomJS (архив) - GitHub PhantomJS
Устаревшая технология
PhantomJS официально прекратил разработку в 2018 году, но некоторые боты всё ещё используют его из-за простоты и стабильности.
Зачем это нужно?¶
Хотя PhantomJS уже не поддерживается, некоторые боты всё ещё используют его. Эта проверка помогает выявить такой трафик.
Историческая проверка
Проверка PhantomJS помогает выявлять устаревшие боты, которые используют старые инструменты автоматизации.
Рекомендации¶
✅ Рекомендуется включить для большинства сайтов. Это проверка на устаревшие инструменты, которые всё ещё могут использоваться ботами.
Selenium (selenium.enabled)¶
Параметр: selenium.enabled
Тип: Включено/Выключено
Значение по умолчанию: Включено
Термины
См. также: Selenium
Что это такое?¶
Специальная проверка на обнаружение Selenium — популярного фреймворка для автоматизации браузеров, широко используемого ботами.
Как работает проверка?¶
Система обнаруживает специфические признаки Selenium:
- Объекты
window.driverиwindow.webdriver— специфические объекты Selenium - Свойства в объекте
navigator— признаки Selenium WebDriver - Признаки Selenium WebDriver в DOM — специфические элементы, добавляемые Selenium
- Аномалии в работе WebDriver API — отличия в реализации WebDriver
Пример детекции
Selenium добавляет объект window.driver в браузер. Система проверяет наличие этого объекта и других признаков Selenium, даже если бот пытается скрыть их.
Что такое Selenium?¶
Selenium — это популярный фреймворк для автоматизации браузеров, который позволяет управлять браузером программно. Selenium используется для:
- Автоматизации тестирования веб-приложений
- Парсинга веб-страниц
- Автоматизации действий в браузере
Ссылки: - Официальный сайт Selenium - Selenium WebDriver Documentation - GitHub Selenium
Зачем это нужно?¶
Selenium — один из самых распространённых инструментов для автоматизации. Боты часто используют его для имитации действий пользователей. Эта проверка позволяет определить использование Selenium даже при попытках скрытия его следов.
Высокий приоритет
Проверка Selenium имеет высокий приоритет (вес 0.9) и является одной из самых важных проверок для выявления автоматизированного трафика.
Рекомендации¶
✅ Рекомендуется включить для большинства сайтов. Это одна из самых важных проверок для выявления автоматизированного трафика.
💡 Общие рекомендации¶
Для начинающих¶
Для большинства сайтов рекомендуется включить все проверки этой группы. Они эффективно выявляют автоматизированный трафик и имеют низкий уровень ложных срабатываний.
Для опытных пользователей¶
Опытные пользователи могут:
- Отключить отдельные проверки, если они дают много ложных срабатываний
- Настроить комбинации проверок под специфику проекта
- Использовать блоклисты для исключения легитимной автоматизации
Когда можно отключить некоторые проверки?¶
- Если у вас специфический трафик, который может использовать автоматизацию легитимно (например, тестирование)
- Если вы видите много ложных срабатываний от конкретной проверки
- Если вы используете другие методы детекции для компенсации
В таких случаях можно отключить отдельные проверки, но рекомендуется оставить хотя бы WebDriver и Selenium.
📚 Дополнительная информация¶
- Обзор настроек — все группы настроек
- Как работает BotSafe — принципы детекции автоматизированных инструментов
- Примеры использования — рекомендации для разных типов сайтов