JS-валидация
В статье описывается принцип работы JS-валидации, реализованный на Платформе в составе сервиса Edge Logic Rules.
Вредоносный трафик от ботов может стать причиной множества проблем. Боты могут анализировать цены на веб-ресурсе, воровать контент, подбирать пароли к учётным записям и т. д. Их активность может повлиять на производительность веб-ресурса и иметь негативные последствия для бизнеса в целом.
Эффективным инструментом обнаружения ботов является JS-валидация. В ходе такой проверки анализируются параметры выполнения JavaScript. Если в процессе проверки поведение источника запроса указывает на то, что это бот, запрос блокируется.
Для проверки запросов с помощью JS-валидации составьте правило обработки запросов в сервисе Edge Logic Rules с действием jsChallenge.
Алгоритм работы JS-валидации на Платформе
При первом запросе вместо оригинального контента пользователю выдаётся скрипт валидации на языке JavaScript.
При выполнении пользовательским устройством этого скрипта, производятся математические операции и формируется подтверждение в виде хэш-суммы, вычисленной по определённому алгоритму. Часть запросов от ботов отсеивается уже на этом этапе, поскольку многие из них не поддерживают работу со скриптами.
Затем скрипт инициирует повторный запрос с заголовком
Cookie
, содержащим созданное подтверждение.Платформа NGENIX проверяет этот запрос и либо пропускает его, либо блокирует.
Если запрос пропущен, пользователь может использовать имеющийся
Cookie
в течение фиксированного периода времени, чтобы не проходить проверку повторно. Период времени задаётся в настройках правила обработк запросов.
В процессе JavaScript-валидации на первый запрос пользователь получает ответ с HTTP-кодом 503, что может увеличить общее количество таких ответов в сервисах статистики NGENIX.
Если вы собираетесь использовать JS-валидацию, имейте в виду, что для правильной работы систем мониторинга, мобильных приложений и других веб-клиентов, вам потребуется внести соответствующие исключения в правила обработки запросов. Это может включать в себя создание белого списка префиксов, URI и других элементов.
Last updated