Yandex Cloud
Поиск
Связаться с экспертомПопробовать бесплатно
  • Кейсы
  • Документация
  • Блог
  • Все сервисы
    • Cloud Interconnect
    • Cloud Backup
    • Cloud Registry
    • Yandex AI Studio
    • Compute Cloud
    • Object Storage
    • Managed Service for Kubernetes®
    • Yandex BareMetal
    • Smart Web Security
    • Security Deck
    • Managed Service for PostgreSQL
    • Managed Service for ClickHouse®
    • Monium
    • Cloud CDN
    • Network Load Balancer
    • Virtual Private Cloud
    • Cloud DNS
    • Application Load Balancer
    • Yandex Cloud Video
    • Stackland
    • Yandex Cloud Router
    • Yandex Managed Service for Trino
    • Managed Service for MySQL®
    • Managed Service for Valkey™
    • Managed Service for Apache Spark™
    • Yandex StoreDoc
    • Managed Service for OpenSearch
    • Managed Service for Apache Kafka®
    • Data Transfer
    • Yandex MPP Analytics Engine for PostgreSQL
    • Yandex Managed Service for Apache Airflow®
    • Data Processing
    • Yandex MetaData Hub
    • Managed Service for YDB
    • Managed Service for Sharded PostgreSQL
    • Managed Service for YTsaurus
    • Yandex WebSQL
    • DataLens
    • Yandex Search API
    • SpeechSense
    • SpeechKit
    • DataSphere
    • Vision OCR
    • Translate
    • Yandex Neurosupport
    • Yandex Cloud Detection and Response
    • Yandex Identity Hub
    • Key Management Service
    • Certificate Manager
    • Yandex Lockbox
    • Audit Trails
    • SmartCaptcha
    • Cloud Desktop
    • GOST Gateway
    • Yandex SIEM
    • SourceCraft Code Assistant
    • Container Registry
    • Managed Service for GitLab
    • SourceCraft
    • Managed Service for Prometheus®
    • Cloud Functions
    • API Gateway
    • Yandex Cloud Postbox
    • Message Queue
    • Serverless Integrations
    • IoT Core
    • Data Streams
    • Serverless Containers
    • Cloud Notification Service
    • Yandex Query
    • Identity and Access Management
    • Yandex Cloud Console
    • Resource Manager
    • Yandex Cloud Billing
    • Yandex Cloud Quota Manager
    • Cloud Apps
  • Статус работы сервисов
  • Marketplace
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Yandex Cloud Trust
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
    • Акции и free tier
  • Кейсы
  • Документация
  • Блог
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ООО «Яндекс.Облако»
Yandex SmartCaptcha
  • Начало работы
    • Доступность капчи
    • Валидация пользователя
    • Валидация домена
    • Типы заданий
    • Варианты заданий
    • Методы подключения виджета
    • Ключи капчи
    • Невидимая капча
    • Капча в React
    • Объект Javascript Interface
    • Ограниченный режим
    • Публичные IP-адреса
    • Квоты и лимиты
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • История изменений

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

  • Алгоритм подключения
  • Уведомление об обработке данных
  • Особенности
  1. Концепции
  2. Невидимая капча

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

Статья создана
Yandex Cloud
Обновлена 13 февраля 2026 г.
Открыть в Markdown
  • Алгоритм подключения
  • Уведомление об обработке данных
  • Особенности

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

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

Невидимая капча подключается только расширенным методом.

Алгоритм подключенияАлгоритм подключения

  1. Загрузить капчу расширенным методом.

    <script
      src="https://smartcaptcha.cloud.yandex.ru/captcha.js?render=onload&onload=onloadFunction"
      defer
    ></script>
    
  2. Отрисовать виджет капчи в невидимом режиме.

    <form id="form">
      <div id="captcha-container"></div>
      <input type="submit" />
    </form>
    
    <script>
    const form = document.getElementById('form');
    
    function onloadFunction() {
      if (!window.smartCaptcha) {
        return;
      }
    
      window.smartCaptcha.render('captcha-container', {
        sitekey: '<ключ_клиентской_части>',
        invisible: true, // Сделать капчу невидимой
        callback: callback,
      });
    }
    
    function callback(token) {
      form.submit();
    }
    </script>
    
  3. Вызвать window.smartCaptcha.execute(), когда SmartCaptcha должна начать валидацию пользователя. Например, при нажатии submit в форме.

    <form id="form">
      <div id="captcha-container"></div>
      <input type="submit" onsubmit="handleSubmit()" />
    </form>
    
    <script>
    const form = document.getElementById('form');
    
    function onloadFunction() {
      if (!window.smartCaptcha) {
        return;
      }
    
      window.smartCaptcha.render('captcha-container', {
        sitekey: '<ключ_клиентской_части>',
        invisible: true, // Сделать капчу невидимой
        callback: callback,
      });
    }
    
    function callback(token) {
      form.submit();
    }
    
    function handleSubmit(event) {
      event.preventDefault();
    
      if (!window.smartCaptcha) {
        return;
      }
    
      window.smartCaptcha.execute();
    }
    </script>
    

Уведомление об обработке данныхУведомление об обработке данных

По умолчанию на странице с невидимой капчей появляется блок со ссылкой, которая ведет на документ Уведомление об условиях обработки данных сервисом.

Блок располагается в нижнем правом углу. Чтобы переместить блок, используйте параметр shieldPosition метода render. Например:

window.smartCaptcha.render('captcha-container', {
  sitekey: '<ключ_клиентской_части>',
  invisible: true,
  shieldPosition: 'top-left',
  callback: callback,
});

Вы можете скрыть блок, используя параметр hideShield метода render.

Важно

Вы обязаны уведомлять пользователей о том, что их данные обрабатывает SmartCaptcha. Если вы скрываете блок с уведомлением, сообщите пользователям иным способом о том, что SmartCaptcha обрабатывает их данные.

ОсобенностиОсобенности

  • Невидимая капча требует меньше памяти, чем обычная, так как не загружает код, который отрисовывает кнопку Я не робот.

    Однако, у пользователей, которым будет показано задание, время загрузки виджета может варьироваться. Поэтому мы рекомендуем предупреждать пользователей о показе капчи, чтобы не приводить их в замешательство во время ожидания.

  • Если на странице более одного виджета, то нужно передавать идентификатор виджета в метод execute.

    Пример
    <script
      src="https://smartcaptcha.cloud.yandex.ru/captcha.js?render=onload&onload=onloadFunction"
      defer
    ></script>
    
    <script>
      let widgetId;
    
      function onloadFunction() {
        if (!window.smartCaptcha) {
          return;
        }
    
        widgetId = window.smartCaptcha.render('captcha-container', {
          sitekey: '<ключ_клиентской_части>',
          invisible: true, // Сделать капчу невидимой
          callback: callback,
        });
      }
    
      function callback(token) {
        if (typeof token === "string" && token.length > 0) {
            // Отправить форму на бэкенд
            console.log(token);
            document.querySelector('form').submit()
        }
      }
    
      function handleSubmit(event) {
        if (!window.smartCaptcha) {
          return;
        }
    
        window.smartCaptcha.execute(widgetId);
      }
    </script>
    
    <form id="form">
      <div id="captcha-container"></div>
      <button type="button" onclick="handleSubmit()">Submit</button>
    </form>
    

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

Предыдущая
Ключи капчи
Следующая
Капча в React
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ООО «Яндекс.Облако»