К содержимому
DDoS·Protect
Возможности

Проверка браузера: посетитель проходит её незаметно, скрипт — нет

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

Как это выглядит для посетителя

Если запрос показался фильтру подозрительным, вместо страницы на мгновение открывается экран «Проверяем соединение». Браузер выполняет скрипт, получает подписанный токен, и страница загружается. Повторно в течение сессии проверка не показывается. Большинство посетителей вообще её не видят: проверка нужна только запросам с повышенным риском.

Из чего состоит проверка

  1. Вычислительная задача. Браузер подбирает число, которое вместе с выданной строкой даёт хеш с нужным числом нулей. Для одного посетителя это десятки миллисекунд, для ботнета, отправляющего миллион запросов, — огромная стоимость.
  2. Проверка окружения. Скрипт собирает несколько признаков настоящего браузера и сверяет их с заявленными в заголовках.
  3. Подпись. Результат превращается в подписанный токен, привязанный к адресу и отпечатку клиента. Подделать или передать его другому клиенту нельзя.
  4. Капча — последний рубеж. Её видят только те, кто не прошёл автоматическую проверку: обычно это старые браузеры или клиенты с отключённым JavaScript.

Сложность задачи меняется по ситуации

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

Где проверку нельзя показывать

  • API, к которому обращаются мобильные приложения и сервер-серверные интеграции, — для него работают лимиты и ключи, а не JavaScript.
  • Вебхуки платёжных систем, служб доставки и 1С.
  • Файлы, которые скачивают программы обновления или менеджеры загрузок.

Для этих путей в личном кабинете задаются исключения. В настройках по умолчанию планируется заранее исключить типовые адреса вебхуков популярных платёжных систем, но список в любом случае стоит проверить для своего сайта.

Вопросы и ответы

Работает ли проверка в браузерах с блокировщиками рекламы?

Да. Скрипт проверки отдаётся с домена вашего сайта и не относится к рекламе или аналитике, поэтому блокировщики его не трогают.

Собирает ли проверка персональные данные?

Проверка использует технические признаки браузера только для решения «человек или программа» и не предназначена для установления личности посетителя. Токен хранится в cookie, необходимом для работы сайта. Как учесть фильтр в документах сайта — в материале о 152-ФЗ.

Что увидит пользователь без JavaScript?

Простую капчу, после решения которой он получит такой же токен и сможет пользоваться сайтом.

Ранний доступ

Подключим ваш сайт одним из первых

Сервис готовится к запуску. Оставьте заявку: проверим, от чего нужно защищать ваш проект, и подключим его в числе первых на условиях раннего доступа.