JS-челлендж против ботов

JS-челлендж против ботов — это проверка, которая пускает на оффер только браузеры, реально выполняющие JavaScript, а простые краулеры и HTTP-скрипты отсеиваются ещё до показа страницы. Большинство парсеров модерации и дешёвых ботов не рендерят JS полностью, поэтому такая проверка — один из самых дешёвых и эффективных фильтров в связке. Разберём, как она работает и что не может отсечь сама по себе.

Как работает JS-челлендж

Посетителю перед основной страницей отдаётся промежуточный код, который выполняет небольшую JS-задачу (например, вычисление, установку токена или чтение свойств браузера), а результат отправляется обратно на сервер как подтверждение. Реальный браузер выполняет это за доли секунды незаметно для пользователя, а простой HTTP-клиент или голый краулер без JS-движка не может выполнить проверку и не получает доступ к офферу. Это близко к тому, как работает защита от ботов у крупных CDN, только адаптировано под клоаку конкретного лендинга.

Каких ботов отсекает JS-проверка

В первую очередь — простые скриптовые парсеры и краулеры модерации, которые запрашивают HTML напрямую без полноценного рендеринга страницы. Также отсеивается часть автоматических сканеров рекламных площадок, которые проверяют объявления массово и не могут позволить себе полноценный headless-браузер на каждый переход. Продвинутые боты на headless Chrome такую проверку могут пройти — здесь JS-челлендж уже работает не один, а вместе с другими фильтрами.

Ограничения метода

JS-челлендж не отличает продвинутого бота на headless-браузере от живого пользователя — оба одинаково успешно выполнят JS-задачу. Он также немного замедляет открытие страницы (обычно на доли секунды), что стоит учитывать при и так тяжёлых PWA-страницах. Поэтому в связке его почти всегда комбинируют с UA-фильтром, IP-intel и поведенческими проверками, а не полагаются только на него.

JS-челлендж в антибот-клоаке APEX

В APEX JS-проверка — часть встроенной антибот-клоаки и включается как ещё один слой фильтрации рядом с UA, гео и IP-intel фильтрами, без необходимости писать и хостить челлендж-скрипт самому. Прохождение проверки выполняется прозрачно для реального пользователя — задержка не ощущается, но простые боты и краулеры без JS отваливаются на этом шаге. Комбинация слоёв настраивается один раз и применяется автоматически ко всему трафику на связку.

Когда JS-челлендж особенно оправдан

Такая проверка особенно полезна против массовых автоматических сканеров рекламных площадок и парсеров, которые проходят по большому числу объявлений подряд без полноценного рендеринга. На высококонкурентных вертикалях, где связки часто сканируют на предмет клоакинга, дополнительный слой JS-проверки снижает шанс попасться на самой дешёвой и массовой части сканирования.

Частые вопросы

Замечает ли обычный пользователь JS-челлендж?
Нет, для реального браузера проверка выполняется за доли секунды и незаметна — задержка открытия страницы минимальна и не влияет на восприятие лендинга.
Может ли продвинутый бот обойти JS-челлендж?
Да, бот на полноценном headless-браузере способен выполнить JS-задачу так же, как обычный пользователь. Против таких ботов JS-челлендж работает только в связке с другими фильтрами клоаки, а не сам по себе.
Замедляет ли JS-проверка загрузку PWA-страницы?
Незначительно, обычно на доли секунды — для пользователя это практически незаметно, но стоит учитывать при и без того тяжёлых PWA-страницах с большим количеством ресурсов.
Нужно ли настраивать JS-челлендж отдельно от остальной клоаки?
В APEX нет: это встроенный слой антибот-клоаки, который включается вместе с UA, гео и IP-intel фильтрами в одной настройке, без отдельного скрипта на лендинге.
Собери своё PWA в APEX за пару минут

Клоака, антибот, пуши, сплит-тесты и свои домены — в одном сервисе.

Начать бесплатно

Читайте также