Защита от ботов и автоматических атак
Возможности
Ограничение частоты запросов кода
- Считает запросы кода в нескольких окнах сразу — от минуты до суток — и
отдельно по двум признакам: по адресу устройства в сети и по номеру гостя.
Порог по номеру строже, чем по адресу.
- В эти пороги засчитываются только незавершённые входы: запрос, по которому
гость ввёл верный код, его не расходует. Поверх стоит общий потолок на номер,
который считает все запросы кода подряд.
- Когда порог достигнут, новый код не отправляется, а гость видит на форме
входа сообщение о превышении и обратный отсчёт до момента, когда можно будет
продолжить. Кнопка продолжения на это время неактивна, переключение на другой
способ подтверждения тоже закрыто.
- Отсчёт показывается не «на глазок»: он равен реальному остатку до момента,
когда самый ранний запрос выйдет из окна.
Пауза перед повторной отправкой
- После отправки кода повторный запрос доступен не сразу: на экране ввода кода
идёт обратный отсчёт, вместо кнопки — строка «Получить новый код можно
через …» либо «Позвонить еще раз можно через …», в зависимости от выбранного
способа подтверждения.
- Переключение на другой способ подтверждения отсчёт не обнуляет: берётся
меньший из оставшегося и нового.
Ограничение попыток ввода кода
- Неверный код показывает ошибку «Код введен неверно» и уменьшает запас
попыток. Когда запас исчерпан, заявка на вход гасится: дальше форма отвечает
«Превышено максимальное количество попыток» на любой код, даже на верный.
- Продолжить можно только новым запросом кода — с учётом паузы и общего
ограничения частоты.
Подтверждение «я не робот»
- Форму входа гостя можно закрыть проверкой «я не робот». На витрине и в
приложении заведения она показывается на шаге ввода номера и перед повторным
запросом кода; без пройденной проверки запрос кода не принимается, а гость
видит «Проверка «я не робот» не пройдена».
- Сервис проверки — Google reCAPTCHA или Яндекс SmartCaptcha — заведение сам не
выбирает: его задаёт сотрудник поддержки по обращению заведения. Пока сервис
не задан, используется Google reCAPTCHA.
- Пройденная проверка ограничения частоты не отменяет: лимит по номеру
действует так же, порог по адресу устройства становится выше.
- Форма восстановления пароля от кабинета требует такую проверку всегда: письмо
со ссылкой на вход уходит только после неё, иначе форма отвечает «Ошибка!
Подтвердите, что вы не робот.» Форма регистрации новой организации закрыта той
же проверкой.
- Заведение может подключить собственную пару ключей сервиса проверки — тогда
статистика срабатываний собирается на его стороне.
Снятие блокировок
- Накопленные блокировки снимаются по заведению целиком: разблокируются заявки,
упёршиеся в лимит попыток, и ослабляется ограничение частоты. Гости, уже
вошедшие в личный кабинет, при этом не разлогиниваются.
- Перед выполнением можно посмотреть отчёт о том, что именно будет снято.
Как настроить
- Ограничение частоты, пауза перед повторной отправкой и ограничение попыток
ввода кода работают у всех и с самого начала. Включать и настраивать их не
нужно, в кабинете их нет.
- Проверка «я не робот» на входе гостя включается по запросу. Вместе с ней
выбирается сервис проверки и задаётся его пара ключей — публичный и
секретный. Общая пара платформы есть только для Google reCAPTCHA; для
Яндекс SmartCaptcha ключи заводит заведение.
- Проверка на восстановлении пароля от кабинета и на регистрации организации
работает всегда и отдельной настройки не требует.
- Снятие накопленных блокировок по заведению выполняется по обращению: это
разовая операция, а не переключатель.
Что должно быть настроено и ограничения
- Личный кабинет гостя должен быть включён: при выключенном кабинете форма
входа не работает вовсе, и говорить об ограничениях бессмысленно.
- Должен быть настроен хотя бы один способ подтверждения номера — код в
сообщении, звонок или мессенджер. Если подходящего способа нет, заявка на вход
не создаётся и до ограничений дело не доходит.
- Счёт по адресу устройства в сети общий для всех, кто за этим адресом сидит:
гости из офиса, торгового центра или под одним мобильным оператором делят один
счётчик и упираются в порог раньше поодиночке заказывающих.
- Снятие блокировок действует в пределах одного заведения. Если гость упёрся в
счётчик по адресу, а с того же адреса заходили в другие заведения, блокировка
может сняться не полностью.
- Проверка «я не робот» требует, чтобы у гостя открывался внешний сервис
проверки. Там, где он недоступен, вход через закрытую проверкой форму не
состоится.
- Если сервис проверки не ответил, вход пропускается без неё: ограничения
частоты при этом продолжают действовать.
Чего нет
- Не даёт заведению настраивать пороги: окна и предельные значения общие для
всех и в кабинете не меняются.
- Не ограничивает ничего, кроме запроса и ввода кода. Просмотр меню, корзина,
оформление заказа, ввод промокода собственных ограничений частоты не имеют, и
от парсинга каталога блок витрину не защищает.
- Не покрывает вход через мессенджер: там гость подтверждает номер в самом
мессенджере, кода не запрашивается, и ограничения частоты к этому пути не
относятся.
- Не сообщает заведению о срабатываниях: ни уведомления, ни отчёта о том,
сколько запросов было отбито, в кабинете нет.
- Не различает гостей за общим выходом в сеть: для блока это одно устройство.
- Не заменяет чёрный список гостей — это отдельная механика, работающая по
номеру, а не по частоте обращений.
Примеры
Гость просит код повторно
- Гость открывает вход на витрине, вводит номер телефона и запрашивает код.
- Код уходит, экран переключается на ввод кода, под полями идёт обратный отсчёт
«Получить новый код можно через …».
- Гость не дождался сообщения и жмёт повтор — пока отсчёт не закончился, кнопка
неактивна.
- Отсчёт заканчивается, кнопка оживает, гость запрашивает код заново и входит.
Автоматический перебор упирается в ограничения
- Скрипт запрашивает код и начинает подбирать цифры.
- После нескольких неверных вводов заявка на вход гасится: форма отвечает
«Превышено максимальное количество попыток» на любой код.
- Скрипт запрашивает новый код — и упирается в паузу перед повторной отправкой.
- Продолжая дёргать форму, он выбирает лимит частоты: форма показывает
«Превышено количество попыток. Вы сможете продолжить через …», отправка кодов
с этого адреса прекращается до конца отсчёта.
- Заведение при этом платит только за те коды, что были отправлены до
срабатывания порога.
Восстановление пароля от кабинета
- Сотрудник заведения на странице входа в кабинет нажимает ссылку
восстановления пароля.
- Вводит адрес почты и проходит проверку «я не робот».
- Письмо со ссылкой на вход уходит на почту; если проверка не пройдена, форма
отвечает «Ошибка! Подтвердите, что вы не робот.» и письмо не отправляется.
Связанные статьи