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

Настройка защиты

Чтобы читать и менять настройки, используйте GET и PATCH для protection/ в API управления аутентификацией вашего приложения или в консоли.
enabled и breached_password_check по умолчанию имеют значение false. Режимы, описанные выше, становятся значениями по умолчанию после включения защиты.

Политики

Политики vpn и travel используют анализ IP-адресов Didit. Если этот запрос недоступен, попытка продолжается: вход никогда не завершается ошибкой из-за него. Местоположение для travel обновляется только после успешно завершённого входа.

Перебор паролей и блокировка

Режим brute определяет, что происходит после 5 неудачных попыток:
  • Заблокировать: человек должен сбросить пароль, прежде чем сможет снова войти.
  • Проверять: аккаунт блокируется на 15 минут, а для следующей попытки нужна дополнительная проверка.
  • Выключено или Записывать: блокировки нет.
Сброс пароля остаётся доступным после блокировки из-за перебора, и сброс снимает блокировку. Ваша команда также может разблокировать аккаунт в консоли. Если вы никогда не сохраняли настройки защиты, действует более простое правило: 5 неверных паролей блокируют аккаунт на 15 минут.

Оценка бота и сигналы устройства

Передавайте сигналы устройства при выполнении запросов с помощью этих заголовков. Размещённые страницы отправляют их за вас. Эти сигналы служат контекстом для решения, а не доказательством личности. Они также передаются с каждым событием входа, где правила могут читать event.device.bot_score.
Код AUTOMATION_FRAMEWORK_DETECTED относится к другой проверке. Это предупреждение анализа IP и устройства для сессий верификации, которое возникает, когда SDK верификации сообщает о фреймворке автоматизации браузера. При входе она не выполняется. При входе автоматизацию обнаруживает политика bots, описанная выше.

Проверки

Попытка, для которой требуется проверка, возвращает следующий ответ вместо кода входа:
Завершите проверку с помощью POST protection/complete/:
  • {"challenge", "method": "email_code", "code"} с 6-значным кодом, отправленным на электронную почту человека, или
  • {"challenge", "method": "passkey", "response"} с ответом WebAuthn.
У вас есть 5 попыток в течение 5 минут. Если у человека нет доступного способа подтверждения, вызов возвращает 403 {"error": "protection_factor_unavailable"}.

Скомпрометированные пароли

Если задано breached_password_check: true, Didit проверяет новые пароли и пароли, устанавливаемые при сбросе, по известным скомпрометированным паролям. Сам пароль никуда не отправляется. Скомпрометированный пароль отклоняется с ошибкой password_breached. При входе скомпрометированный пароль считается совпадением по политике stuffing. Если проверка недоступна, пароль принимается.

Режим атаки

Включайте режим атаки во время активной атаки:
  • POST protection/attack-mode/ с {"duration_hours": 1} (или 6 либо 24) возвращает 201.
  • DELETE protection/attack-mode/ завершает режим досрочно. Он также завершается сам по истечении заданной длительности.
Пока режим атаки включён:
  • каждая регистрация и каждый вход должны пройти проверку с помощью ключа доступа. Код из электронной почты не принимается. Новые пользователи и люди без ключа доступа не смогут завершить регистрацию или вход до окончания режима атаки.
  • регистрация с VPN, Tor или сети дата-центра блокируется.

Ограничения частоты запросов

Для каждого маршрута рабочего API действуют ограничения по IP-адресу в рамках приложения: При превышении лимита вызов возвращает 429. Учитывайте заголовок Retry-After, если он передан. Попытки входа также ограничены по частоте в минуту: 60 на IP-адрес, 15 на аккаунт, 30 на устройство, 3 000 на приложение и 20 запросов кодов SMS или WhatsApp на префикс номера телефона. Обновления токенов имеют собственный лимит приложения: 6 000 в минуту, поэтому обновления никогда не расходуют ваши входы.

События

Каждое решение записывается как событие аутентификации: risk_logged, attempt_challenged, attempt_blocked, challenge_passed, challenge_failed, attack_mode_started и attack_mode_ended. В событии указано, какая политика сработала.

Тестирование

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