Виды проверок: JS, cookie, CAPTCHA
Какие проверки система защиты выдаёт пользователям, как выбирается тип проверки и что происходит после прохождения.
|
В отличие от других проверок, CAPTCHA по умолчанию выключена. Если хотите использовать CAPTCHA, напишите на cybert@servicepipe.ru — мы всё настроим. |
Суть, коротко
В этом разделе даём выжимку без тонких нюансов — для тех, кто ищет быстрый ответ. В разделах ниже рассказываем обо всём подробнее.
Какие проверки наша система защиты может дать пользователю: JS-челлендж, cookie-челлендж, CAPTCHA.
Как система выбирает, какую проверку дать: анализирует запрос и определяет класс источника запроса. Разные классы получают разные проверки. Дефолтная политика выбора такая:
Тип проверки |
Тип проверки |
|
Бот |
По умолчанию нет проверки, запрос просто блокируется. Если включена CAPTCHA, вместо блокировки выдаётся CAPTCHA. |
Нет проверки, даже если CAPTCHA включена. Запрос просто блокируется. |
Вероятно бот |
JS-челлендж — при запросе в локацию, где в качестве ответа ожидается html.
|
|
Человек |
Нет проверки, запрос пропускается |
JS-челлендж |
Эту политику мы гибко донастраиваем под специфику вашего трафика, когда подключаем защиту. Также вы можете вносить свои настройки через пользовательские правила.
Что после проверки: проверка пройдена — запрос пропускается на ваш ресурс, нет — блокируется.
Что такое проверка
Проверка — это короткий тест, который система защиты может выдать, если подозревает, что запрос сделал бот.
Представьте, что ваш сайт — это здание, а система защиты — охранник у входа. Обычно посетители (пользователи) проходят спокойно, потому что у охранника нет поводов сомневаться. Но если кто-то ведёт себя странно, охранник может попросить выполнить простое действие — например, показать пропуск. Честный посетитель (человек) без труда его предъявит, а преступник (бот) нет.
Проверки JS-челлендж и cookie-челлендж проходят автоматически и незаметно для пользователя. Система отправляет устройству небольшой тест, который оно выполняет автоматически и почти мгновенно. Максимум, что можно заметить — на мгновение мелькнёт иконка загрузки.
CAPTCHA, в отличие от других проверок, требует участия пользователя. Нужно ввести символы с картинки или повернуть изображение вручную.
Виды проверок
Наша система защиты может выдать пользователю JS-челлендж, cookie-челлендж или CAPTCHA.
Cookie-челлендж
Cookie-челлендж — простая проверка, которая показывает, умеет ли клиент работать с cookie.
Как работает:
-
Система получает запрос.
-
В ответ она отдаёт редирект (HTTP 307) с заголовком Set-Cookie. Редирект ведёт на тот же адрес, который пользователь запросил изначально. То есть система просто говорит браузеру: «Повтори этот же запрос, но уже с cookie, которую я тебе выдала».
-
Браузер делает повторный запрос — теперь уже с этой cookie.
-
Система проверяет: повторный запрос пришёл с cookie, значит всё в порядке, проверка пройдена.
Всё это происходит автоматически и занимает доли секунды.
JS-челлендж
JS-челлендж (JavaScript Challenge) — проверка, при которой браузер должен выполнить небольшой скрипт.
Работает так:
-
Система получает запрос от пользователя.
-
В ответ она отправляет страницу с коротким JavaScript-кодом — в нём зашита простая математическая задача.
-
Браузер решает задачу и отправляет обратно ответ на неё.
-
Система проверяет результат. Если результат верный, всё в порядке, проверка пройдена.
Всё это происходит автоматически и занимает доли секунды.
CAPTCHA
CAPTCHA (или просто «капча») — визуальная проверка, где нужно с помощью действия подтвердить, что вы человек. Система защиты способна выдавать два вида капчи: символьную и с поворотом картинки.
|
|
Символьная |
С поворотом картинки |
|
По умолчанию капча выключена. Если хотите использовать её, напишите на cybert@servicepipe.ru — мы всё настроим. Укажите, какую версию хотите использовать: символьную или с поворотом картинки (если не указать, установим символьную). Кстати, капчи с поворотом картинки можно загрузить свои изображения вместо наших стандартных. |
Капча выдаётся пользователям, которых система распознала как ботов. Это альтернатива блокировке: обычно запросы от ботов блокируются, а после включения капчи вместо блокировки такие пользователи будут получать проверку. Пройдя её, смогут попасть на ваш сайт/приложение.
Как работает капча:
-
Система получает запрос, который явно выглядит как запрос от бота.
-
Система перенаправляет пользователя страницу с капчей.
-
Пользователь выполняет нужное действие — вводит символы или поворачивает картинку в указанное положение.
-
Если действие выполнено верно, проверка пройдена.
-
Система перенаправляет пользователя на страницу, которую он запрашивал.
У капчи есть уровни сложности. Чем выше уровень, тем сильнее «замазаны» символы или тем точнее нужно повернуть изображение под указанным углом. Пример: символьная капча со стандартной и повышенной сложностью.
|
|
Стандартная |
Более сложная |
Стандартная сложность подходит для защиты большинства сайтов и приложений. При необходимости мы можем сами повысить сложность для отдельных типов трафика — например, если видим, что вас атакуют продвинутые боты, способные пройти несложную капчу. Если у вас есть свои пожелания по сложности, напишите на cybert@servicepipe.ru — мы поменяем настройки.
Как система выбирает, какой вид проверки выдать
Вид зависит от того, кто отправил запрос (человек/бот) и идёт ли сейчас DDoS-атака на ваш ресурс.
Как это работает: каждый запрос к ресурсу проходит через нашу систему защиты. Система анализирует большое количество данных о вашем запросе (выражаясь технически, она анализирует телеметрию запроса на уровнях L3/L4–L7). Эти данные помогают понять, кто отправил запрос. Система маркирует источник одним из четырёх классов:
-
Бот — запрос точно отправил бот
-
Вероятно бот — скорее всего, запрос отправлен ботом, но нет 100% уверенности
-
Вероятно человек — скорее всего, запрос отправлен человеком, но нет 100% уверенности
-
Человек — запрос точно отправил человек
Дальше система смотрит, не попал ли запрос под действие вашего чёрного списка, белого списка или пользовательских правил. Если да, действует в соответствии с вашими настройками. Если нет, то выбирает проверку в зависимости от класса источника запроса (бот/верояно бот/вероятно человек/человек) и ситуации.
Тип проверки |
Тип проверки |
|
Бот |
По умолчанию нет проверки, запрос просто блокируется. Если включена CAPTCHA, вместо блокировки выдаётся CAPTCHA. |
Нет проверки, даже если CAPTCHA включена. Запрос просто блокируется. |
Вероятно бот |
JS-челлендж — при запросе в локацию, где в качестве ответа ожидается html.
|
|
Человек |
Нет проверки, запрос пропускается |
JS-челлендж |
Эта таблица даст вам общее представление о выборе проверки. В реальности мы гибко донастраиваем политику под каждого клиента индивидуально, опираясь на его пожелания и особенности трафика.
Что происходит после проверки
Если проверка не пройдена, запрос блокируется. Он не попадёт к вашему сайту/приложению.
Если проверка пройдена, запрос передаётся вашему сайту/приложению. Также система добавляет в браузер пользователя cookie, подтверждающую, что клиент — легитимный. С этой cookie он какое-то время может свободно работать с вашим сайтом/приложением, без повторных проверок.
Резюме
-
Проверки помогают отличать людей от ботов и не дают ботам попасть на ваш ресурс
-
JS- и cookie-челленджи выдаются, если есть сомнения, бот или человек отправил запрос. Они проходят мгновенно и незаметно для пользователя.
-
CAPTCHA — альтернатива блокировке для тех, кого система посчитала ботом. По умолчанию она выключена. Чтобы включить, напишите нам в техподдержку. Капча требует от пользователя активных действий — поворота картинки или ввода символов.
-
Выдачу проверок можно настраивать. Для этого добавьте пользовательские правила или напишите нам в техподдержку cybert@servicepipe.ru — мы со всем поможем.