Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex SmartCaptcha
  • Начало работы
    • Доступность капчи
    • Валидация пользователя
    • Валидация домена
    • Типы заданий
    • Варианты заданий
    • Методы подключения виджета
    • Ключи капчи
    • Невидимая капча
    • Капча в React
    • Объект Javascript Interface
    • Ограниченный режим
    • Публичные IP-адреса
    • Квоты и лимиты
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • История изменений

В этой статье:

  • Обычная капча
  • Невидимая капча
  • Результат проверки
  • Ответ сервиса
  • Ошибки в запросе
  • Что дальше
  1. Концепции
  2. Валидация пользователя

Валидация пользователя

Статья создана
Yandex Cloud
Обновлена 11 марта 2025 г.
  • Обычная капча
  • Невидимая капча
  • Результат проверки
  • Ответ сервиса
  • Ошибки в запросе
  • Что дальше

SmartCaptcha проверяет запросы пользователей своими ML-алгоритмами и показывает задание только тем пользователям, запросы которых посчитал подозрительными.

При этом на странице необязательно размещать кнопку Я не робот.

Примечание

Чтобы сделать вашу защиту более эффективной, мы используем информацию об HTTP-запросах для развития моделей машинного обучения (ML). Вы можете отключить использование этой информации в консоли управления при создании капчи или позднее в ее настройках.

Обычная капчаОбычная капча

Обычная капча — способ подключения виджета SmartCaptcha с кнопкой Я не робот, клик по которой отправит запрос пользователя в SmartCaptcha. Если сервис посчитает запрос подозрительным, он предложит пользователю решить задание.

Невидимая капчаНевидимая капча

Невидимая капча — способ подключения виджета SmartCaptcha, при котором кнопка Я не робот отсутствует на странице. Окно с заданием увидят только те пользователи, запросы которых сервис посчитает подозрительными.

Разработчик сам выбирает событие, когда сервис проверит пользователя.

Результат проверкиРезультат проверки

SmartCaptcha, проверив запрос, присваивает ему идентификатор — одноразовый токен. По этому токену вы можете запросить у сервиса результат проверки запроса пользователя. Токен действителен 5 минут. По истечении этого времени токен становится недействительным и пользователю необходимо снова пройти проверку.

После проверки токен загружается в элемент <input type="hidden" name="smart-token" value="<токен>" ...> на странице пользователя. Например:

<div id="captcha-container" class="smart-captcha" ...>
    <input type="hidden" name="smart-token" value="dD0xNjYyNDU3NDMzO2k9MmEwMjo2Yjg6YjA4MTpiNTk3OjoxOjFiO0Q9MjVCREY1RDgzMDBERjQ3QjExNkUyMDJDNjJFNEI3Q0Y0QjYzRkRDNzJEMkV********DNjMxODgzMUM0REZBNzI1QUE1QzUwO3U9MTY2MjQ1NzQzMzk5MTEwNjQxNTtoPTg4MWRjMDc2YzE3MjkxNGUwNDgwMTVkYzhl********">
    ...
</div>

Где:

  • <div id="captcha-container" class="smart-captcha" ...> — элемент div с виджетом.
  • value — значение токена.

Чтобы узнать результат проверки, отправьте POST-запрос на адрес https://smartcaptcha.yandexcloud.net/validate, передав параметры в формате x-www-form-urlencoded:

secret=<ключ_сервера>&token=<токен>&ip=<IP-адрес_пользователя>

Где:

  • secret — ключ сервера;
  • token — одноразовый токен, полученный после прохождения проверки;
  • ip — IP-адрес пользователя, с которого пришел запрос на проверку токена. Этот параметр не обязателен, однако мы просим передавать IP-адрес пользователя при запросах. Это помогает улучшить качество работы SmartCaptcha.

Ответ сервисаОтвет сервиса

В ответ сервис пришлет JSON-объект с полями status и message. Когда поле status принимает значение ok, в JSON-объект добавляется поле host. Оно показывает, на каком сайте была пройдена проверка. Например:

  1. Это человек. Проверка пройдена на сайте example.com:

    {
        "status": "ok",
        "message": "",
        "host": "example.com"
    }
    
  2. Это человек. Проверка пройдена на сайте example.com через порт 8080:

    {
        "status": "ok",
        "message": "",
        "host": "example.com:8080"
    }
    
  3. Пустое поле host. Может означать, что облако заблокировано, или произошел внутренний сбой сервиса:

    {
        "status": "ok",
        "message": "",
        "host": ""
    }
    
  4. Это робот:

    {
        "status": "failed",
        "message": ""
    }
    
  5. Запрос с поддельным или поврежденным токеном. Это робот:

    {
        "status": "failed",
        "message": "Token invalid or expired."
    }
    

Ошибки в запросеОшибки в запросе

Если запрос к https://smartcaptcha.yandexcloud.net/validate оформлен некорректно, сервис вернет ошибку. Например:

  1. Запрос без ключа сервера:

    {
        "status": "failed",
        "message": "Authentication failed. Secret has not provided."
    }
    
  2. Запрос без токена или с поврежденным токеном:

    {
        "status": "failed",
        "message": "Token invalid or expired."
    }
    

Примечание

Чтобы при обработке запроса от пользователя не было задержки, ошибки HTTP-протокола (код ответа не 200) рекомендуется обрабатывать как ответ сервиса "status": "ok".

Что дальшеЧто дальше

  • Как подключить невидимую капчу.
  • Капча в React.

Была ли статья полезна?

Предыдущая
Доступность капчи
Следующая
Валидация домена
Проект Яндекса
© 2025 ООО «Яндекс.Облако»