• Возможности
  • Тарифы
  • Вопросы
  • Блог
ВойтиНачать бесплатно
0%
Binetro

Защита

  • Защита от ботов
  • Защита от скликивания

Аналитика

  • Аналитика трафика
  • Отчёты

Подключение

  • Тильда
  • WordPress
  • Любой сайт

Начало работы

  • Как подключить
  • Тарифы
  • Блог

Документы

  • Политика конфиденциальности
  • Договор публичной оферты
  • Согласие на обработку данных
  • Политика использования cookie
  1. Блог
  2. Боты и технологии

Что такое JavaScript-проверка браузера

Опубликовано 25 октября 2026 г.Редакция BinetroБоты и технологии4 мин чтения—
Содержание
  1. Активный съём идёт кодом, пассивный — из запроса
  2. Задача в браузере — не запрет визитов без скрипта

Содержание

  1. Активный съём идёт кодом, пассивный — из запроса
  2. Задача в браузере — не запрет визитов без скрипта

Завтра бюджет уйдёт ещё быстрее

Антифрод Binetro блокирует возвращающихся ботов и защищает рекламу каждый день.

Защитить рекламу

Поделиться

JavaScript-проверка браузера — это код, который выполняется у клиента и смотрит на среду страницы, а не только на заголовки запроса. В Метрике отсутствие JavaScript разобрано отдельным правилом отчёта «Роботы», и оно не сводится к фразе «нет скрипта — значит робот». Скликивание по одному факту «JavaScript не выполнился» эти страницы не объявляют.

Серверная
JavaScript на странице видит то, чего нет в заголовках запроса. Один этот слой решение о визите не выносит. · Фото: CC BY 2.0, Jemimus

В отчёте «Роботы» есть правило «Отфильтрованы по отсутствию JS и Referer»: у визита не было JavaScript и не было Referer у картинки в noscript. Справка разбирает его так. Код счётчика состоит из JavaScript и невидимой картинки в noscript. Если JavaScript выключен или не поддерживается, сведения о просмотре уходят в заголовке Referer, когда грузится эта картинка. Если заголовок не пришёл, Метрика считает просмотр роботным. Это одно именованное правило отчёта. Поведенческие правила та же страница по-прежнему не расшифровывает.

Нет JavaScript само по себе в этом правиле недостаточно: смотрят ещё Referer картинки в noscript. Просмотр становится роботным, когда не было ни скрипта, ни этого заголовка.

Активный съём идёт кодом, пассивный — из запроса

Заметка W3C делит съём на пассивный и активный. Пассивный читает то, что и так лежит в запросе, без кода у клиента: cookie, набор заголовков HTTP, адрес и прочие сетевые данные. В пример пассивного канала поставлен User-Agent: он обычно называет браузер, движок, версию и операционную систему. Активный запускает на клиенте JavaScript или другой код. Заметка пишет, что приёмы на CSS уже догоняют JavaScript. В примеры активного съёма входят размер окна, перечисление шрифтов и подключённых устройств, замер производительности, датчики и отрисованные узоры.

Активный съём в принципе заметен на клиенте. Черты чаще уезжают на сервер пачкой, и сервер складывает их уже незаметно для страницы. Перечень — иллюстрация классов, не список полей, по которым принимают решение о визите. JavaScript-проверка относится к активному классу: код выполняется у клиента. Пассивный заголовок её не заменяет и сам списком полей решения не является.

Headless это не отменяет. Справка флагов Headless отличает --dump-dom от скачивания HTML, как это делает curl. Чтобы напечатать DOM, Chrome сначала разбирает HTML, выполняет скрипты, которые могут его изменить, и только потом сериализует результат. Это описание штатного флага, не список признаков, по которым визит считают автоматическим. Клиент, который выполняет скрипты страницы, уже не равен загрузке исходника. Выполнение JavaScript поэтому не доказывает, что за страницей человек: headless тоже выполняет скрипты, прежде чем отдать DOM.

Задача в браузере — не запрет визитов без скрипта

Памятка OWASP описывает приём, при котором клиенту дают криптографическую или proof-of-work задачу, чтобы растянуть время атаки. Приём не требует человека в цикле и ограничивает частоту конкретной реализации клиента. OWASP отдельно предупреждает, что запрет визитов без JavaScript ухудшает доступность, в том числе для скринридеров. Это описание защиты входа, не параметры задачи Binetro. Параметры задачи продукта здесь не публикуются.

Запрет «нет JavaScript — не пускать» и вычислительная задача — разные приёмы. Первый OWASP связывает с потерей доступности. Второй не требует человека в цикле и бьёт по частоте конкретной реализации клиента. Правило Метрики про отсутствие JS и Referer — третье: оно помечает просмотр роботным в отчёте, когда не пришли ни скрипт, ни Referer картинки, и параметры задачи Binetro не задаёт.

Решение по визиту собирается из нескольких независимых наблюдений: поведение на странице, окружение браузера, сеть и адрес, частота запросов и параметры рекламного перехода. Одно наблюдение не знает о правилах остальных. Состав полей, баллы и правила отдельных проверок не публикуются. То, что JavaScript увидел в окне или в шрифтах, — одно наблюдение. Оно не знает, что решили сеть, частота и параметры перехода.

Недействительный клик не равен строке «нет JavaScript» в отчёте роботов. Вернёт ли Яндекс деньги, это правило не обещает. Кто кликает без покупки, — в статье о том, кто скликивает рекламу. Разница терминов — в статье про кликфрод и скликивание.

JavaScript-проверка смотрит среду у клиента и в принципе заметна на нём. В Метрике роботным просмотр считают, когда нет и скрипта, и Referer картинки в noscript. Выполнение скриптов headless не делает визит человеческим. Одно наблюдение решение не выносит.

Завтра бюджет уйдёт ещё быстрее

Антифрод Binetro блокирует возвращающихся ботов и защищает рекламу каждый день.

Защитить рекламу

Ещё по теме

  • Что такое User-Agent и почему ему нельзя верить

    Что HTTP-заголовок User-Agent сообщает о программе, почему браузеры его урезают, как Google просит проверять робота не по строке и почему одного заголовка для решения о визите мало.

    5 мин чтения
  • Трафик из дата-центров: что такое ASN и почему это сигнал

    ASN — номер автономной системы с одной политикой маршрутизации, а не ярлык дата-центра. В примерах GIVT известный трафик дата-центров опознают списками, и адрес Яндекса в своей AS ещё не доказывает робота.

    4 мин чтения
  • Что такое отпечаток браузера (fingerprint)

    Заметка W3C называет отпечатком способность узнать браузер по настройкам и наблюдаемым чертам. Cookie и VPN связку по отпечатку не обрывают, а статья 11 закона биометрией технические черты не называет.

    5 мин чтения
  • Что такое прокси и резидентные прокси

    Прямой прокси ходит на сайт от имени клиента и не всегда прячет его адрес. Страницы MDN, RFC и Google Ads слово «резидентный прокси» не определяют.

    4 мин чтения
Все статьи