Скрипт и контейнер
Проверяем адрес библиотеки, порядок загрузки, callback, размер контейнера и ошибки JavaScript.
Защита форм
Проверяем загрузку виджета, ключи, разрешённый домен, получение токена и серверную валидацию. Возвращаем отправку заявок без отключения защиты от ботов.
Диагностика
CAPTCHA работает в двух частях. Браузер получает одноразовый токен, а сервер отдельно проверяет его у провайдера. Исправление только виджета не защитит форму, если бэкенд принимает запрос без проверки.
Проверяем адрес библиотеки, порядок загрузки, callback, размер контейнера и ошибки JavaScript.
Сверяем клиентский ключ, список разрешённых сайтов, протокол, поддомены и тестовый режим.
Ищем блокировку CSP, расширением, DNS-фильтром, cookie-настройками или сетевым ограничением.
Проверяем получение, передачу вместе с формой, срок действия и запрет повторного использования.
Сверяем адрес API, серверный ключ, IP, таймаут, обработку статусов и закрытый сценарий при сбое.
Проверяем несколько форм, двойной клик, повторную попытку, сброс виджета и понятное сообщение пользователю.
Результат
Кнопка, виджет и повторная попытка работают на выбранных устройствах и браузерах.
Заявка принимается только после успешного ответа провайдера CAPTCHA.
При недоступности внешнего сервиса форма не зависает молча и предлагает понятное действие.
Порядок работ
Пришлите URL формы, устройство и описание сбоя. Доступ к серверному ключу передавать в сообщении не нужно: при необходимости его меняют внутри защищённой конфигурации.
Фиксируем сетевые запросы, консоль, появление задания и момент остановки отправки.
Проходим путь от клика до callback, токена, обработчика формы и серверного ответа.
Меняем подключение виджета, настройки домена, логику формы или серверную валидацию.
Проверяем пустой, неверный, просроченный и повторный токен, таймаут и мобильный экран.
Документация Yandex SmartCaptcha по валидации указывает, что токен одноразовый и действует ограниченное время. Невидимый режим запускает проверку по событию формы, а задание показывается подозрительным запросам.
Границы работ
Сервер должен проверять входные данные, ограничивать частоту запросов и отклонять заявку при неуспешной проверке токена. Иначе бот отправит запрос напрямую, минуя интерфейс. Блокировщики рекламы и корпоративные фильтры иногда останавливают внешний скрипт у конкретного посетителя. Для такого случая нужен понятный текст ошибки или запасной канал связи. Подключение платного тарифа провайдера и изменение политики обработки данных согласуем отдельно.
Вопросы
Проверяем загрузку скрипта, клиентский ключ, разрешённый домен, контейнер, CSP и блокировщики.
Ищем ошибку callback, потерю токена, повторный перехват submit или отказ серверной проверки.
Да. Проверка запускается при отправке, а подозрительному посетителю сервис показывает задание. Серверная валидация остаётся обязательной.
Тестируем успешную заявку, неверный и повторный токен, таймаут, несколько форм и мобильные браузеры.
Первый шаг
Опишите, появляется ли виджет, проходит ли задание и что происходит после нажатия кнопки формы.