logo
bars
///
Ошибка reCAPTCHA validation failed: причины и решения (2026)
Владлен Власов
Владлен Власов
Технический писатель
3 ноября 2026 г.
8 мин
Пожалуйста, ознакомьтесь с правилами использования материалов на данном ресурсе.

Ошибка reCAPTCHA validation failed: причины и решения

generated-image (7).png

«reCAPTCHA validation failed» — это ошибка, которую показывает сайт, если не может подтвердить, что форму отправил человек. В таком случае отправка отклоняется. При этом неважно, нажимали ли вы чекбокс «Я не робот» или reCAPTCHA проверила вас незаметно в фоновом режиме. Google вернул отрицательный результат, и дальше форма не прошла.

Если вы просто хотели зарегистрироваться или войти в аккаунт, причина обычно на вашей стороне: например, блокировщик рекламы или страница, которая слишком долго оставалась открытой. Если же проверка reCAPTCHA не проходит на вашем собственном сайте, то, скорее всего, дело в настройках reCAPTCHA или в коде формы.

robots
Начните сейчас и автоматизируйте решение reCAPTCHA v2

Главное

  • На сервере причину указывает код ошибки — начните с него. Если кода нет, проверьте секретный ключ, затем список доменов и время, прошедшее с момента получения токена.
  • Токен действует всего две минуты, и Google проверяет его только один раз. В v3 вызывайте execute(), когда посетитель нажимает Submit, а не при загрузке страницы.
  • Если виджет не появляется, проверьте блокировщик рекламы, правила CSP и межсетевой экран.
  • Сообщение «captcha score is not above the threshold» связано с порогом, который задан на вашем сайте или в плагине, а не с порогом Google.
  • Оценки Enterprise подробнее объясняют, почему токен не прошёл проверку. Siteverify объединяет просроченные и повторно использованные токены под кодом timeout-or-duplicate, а Enterprise различает их: EXPIRED и DUPE.

Что означает ошибка reCAPTCHA validation failed

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

Сбой на стороне клиента: виджет не загрузился или проверка не пройдена

Если проблема в браузере, токен вообще не создаётся. Либо виджет не загрузился — обычно именно это имеют в виду, когда говорят, что reCAPTCHA не работает. Либо посетитель не смог пройти задание с изображениями. В обоих случаях сервер не получает токен: запрос не доходит до него или приходит с пустым полем g-recaptcha-response. С Invisible reCAPTCHA сложнее: на странице нет галочки, по которой можно заметить сбой. Без корректной обработки ошибок может казаться, что форма просто не реагирует.

Сбой на стороне сервера: success: false и коды ошибок

Если форма показывает общее сообщение «Error verifying reCAPTCHA», скорее всего, браузер всё же передал токен. Google отклонил его после того, как ваш сервер отправил токен на проверку. Причина указана в ответе siteverify:

{
  "success": false,
  "error-codes": ["timeout-or-duplicate"]
}

Для ключей с оценкой риска в ответе также может прийти success: true, но с оценкой ниже вашего порога. В таком случае запрос отклоняет ваш код, а не Google.

	Ошибка reCAPTCHA validation failed в серверном логе или на странице, 2026
    Ответ reCAPTCHA SiteVerify API с ошибкой проверки в терминале

Основные понятия: site key, secret key, token, score и threshold

Site key — ключ сайта. Открытая часть пары ключей. Он виден в HTML или JavaScript вашей страницы.

Secret key — секретный ключ. Закрытая часть пары, которую только сервер должен отправлять в siteverify. В Google Cloud он обозначен как «legacy secret key».

Token — токен. Строка, которую reCAPTCHA возвращает после проверки: в v2 это g-recaptcha-response. Google принимает токен в течение двух минут и проверяет его только один раз.

Score — оценка риска. Число от 0.0 до 1.0, которое возвращают v3 и ключи Enterprise с оценкой риска. Чем выше значение, тем ниже риск.

Threshold — порог. Минимальная оценка, которую принимает ваш сайт. Его выбираете вы, а не Google.

Коды ошибок reCAPTCHA: краткий справочник

Коды приходят в ответе siteverify или в оценке Enterprise. Отклонение из-за низкой оценки происходит при проверке порога в вашем коде.

Код или симптомГде появляетсяПричинаРешение
missing-input-secretsiteverifyПараметр secret не переданПроверьте, что секретный ключ загружается
invalid-input-secretsiteverifyУказан неверный секретный ключ или вместо него по ошибке вставлен ключ сайтаИспользуйте секретный ключ из той же пары, что и ключ сайта
missing-input-responsesiteverifyТокен не передан или поле удалено правилом межсетевого экранаУбедитесь, что g-recaptcha-response доходит до сервера
invalid-input-responsesiteverifyТокен имеет неверный формат, обрезан или получен с другим ключом сайтаПередавайте токен без изменений
bad-requestsiteverifyGoogle не смог прочитать запросПередавайте secret и response как поля формы в POST-запросе
timeout-or-duplicatesiteverifyС момента получения токена прошло больше двух минут или он уже был проверенПолучайте токен при отправке формы и проверяйте его один раз
browser-error (BROWSER_ERROR в Enterprise)Только invalidReason в EnterpriseОшибка в браузере, при которой можно повторить попытку, например сетевой сбойПовторно вызовите execute(), затем проверьте блокировщики, CSP и сеть
Низкая оценка v3 — ниже вашего порогаscore в v3 или riskAnalysis.score в EnterpriseОценка ниже установленного порогаНастройте порог по данным реального трафика
success: true, но неверный hostnamesiteverifyПроверка домена отключена, токен получен на другом сайтеВключите проверку домена или проверяйте hostname в коде

Почему проверка reCAPTCHA не проходит: частые причины

Способ исправления зависит от того, с какой из четырёх распространённых причин вы столкнулись. Токен мог истечь или использоваться повторно; ключи и домен могли не совпасть. Иногда не загружается сам виджет или оценка оказывается ниже вашего порога.

Токен истёк или использован повторно: timeout-or-duplicate

Код timeout-or-duplicate означает, что с момента получения токена прошло больше двух минут или его уже проверили. В документации SiteVerify Google поясняет, что каждый токен ответа пользователя reCAPTCHA действует две минуты. Чтобы предотвратить атаки с повторным воспроизведением, токен можно проверить только один раз.

  • В длинной форме посетитель сначала ставит галочку, а потом ещё пять минут заполняет остальные поля. В v2 добавьте data-expired-callback, чтобы предложить ему поставить галочку заново.
  • Если страница оформления заказа запрашивает токен v3 при загрузке, а покупатель три минуты вводит данные карты, на сервер уходит уже просроченный токен. Google рекомендует запускать проверку при отправке формы, а не получать токен заранее.
  • Двойной щелчок по Submit или JS-обработчик, который срабатывает вместе со стандартным событием submit, отправляет форму на сервер дважды. После первого нажатия кнопку нужно отключать, а включать снова только при неудачном запросе.
  • Повторная проверка бывает и на сервере: middleware проверяет токен, а затем контроллер снова отправляет его в siteverify. В рамках одного запроса токен нужно проверять только один раз.
  • После ошибки в форме следующая попытка отправки по-прежнему содержит старый токен. В v2 вызовите grecaptcha.reset(), а в v3 запросите новый токен.

В примере для v3 ниже токен запрашивается при отправке формы, а кнопка отключается, чтобы исключить повторную отправку.

<form id="signup" action="/signup" method="POST">
  <!-- form fields -->
  <input type="hidden" name="g-recaptcha-response" id="g-recaptcha-response">
  <button type="submit" id="submit-btn">Sign up</button>
</form>

<script src="https://www.google.com/recaptcha/api.js?render=YOUR_SITE_KEY"></script>
<script>
  const form = document.getElementById('signup');
  const button = document.getElementById('submit-btn');

  form.addEventListener('submit', function (event) {
    event.preventDefault();
    button.disabled = true; // block double submit

    grecaptcha.ready(function () {
      grecaptcha.execute('YOUR_SITE_KEY', { action: 'signup' }).then(function (token) {
        document.getElementById('g-recaptcha-response').value = token; // fresh token at submit time
        form.submit();
      });
    });
  });
</script>

Неверный секретный ключ и несовпадение домена: invalid-input-secret

За общим сообщением «Error verifying reCAPTCHA» в серверных логах часто скрывается invalid-input-secret, то есть Google отклонил секретный ключ как «invalid or malformed» — недействительный или имеющий неверный формат.

  • Ключ сайта и секретный ключ перепутаны местами в серверной конфигурации и HTML.
  • Код клиентской части не соответствует типу ключа: каждый ключ создаётся как Score-based (v3) или Challenge (v2).
  • Ключ создали заново, но на сервере остался старый секретный ключ. Актуальный находится в разделе Key Details → Integration → Use Legacy Key.
  • Ключ не связан с проектом Google Cloud. Google завершил автоматический перенос ключей Classic в первом квартале 2026 года и заблокировал доступ к API для ключей без проекта Google Cloud. Если в этом году интеграция перестала работать без изменений в коде, сначала проверьте именно это.
  • При развёртывании смешались тестовые и рабочие ключи. Google предоставляет тестовые ключи v2, с которыми проверка всегда проходит, поэтому ошибка в скопированной паре может оставаться незаметной до релиза.
  • В секретный ключ попал лишний перенос строки из .env.

Enterprise возвращает DOMAIN_MISMATCH, если домен страницы, на которой получен токен, не входит в список разрешённых для ключа. При локальной разработке появляется сообщение «Localhost is not in the list of supported domains.» Добавьте нужный домен в настройки ключа. Для localhost Google рекомендует отдельный ключ разработки.

Если включена настройка Disable domain verification, Google перестаёт проверять источник токенов. В этом случае ваш код должен сравнивать hostname с доменом вашего сайта.

	Admin Console 2026: список ключей reCAPTCHA с доменами
    Список ключей reCAPTCHA и связанных доменов в Google Cloud Console

reCAPTCHA не загружается в браузере: browser-error

Код browser-error относится к сбоям, которые возникают ещё до обращения к вашему серверу. Обычно это скрипт или iframe, загрузка которого не завершилась. В Enterprise API код BROWSER_ERROR описан как ошибка, при которой можно повторить попытку, например сетевой сбой. Поэтому первый шаг — снова вызвать execute().

  • Блокировщики рекламы или скриптов могут помешать загрузке скрипта. На странице справки Google советует отключить плагины, которые могут конфликтовать с reCAPTCHA.
  • Строгая политика Content Security Policy блокирует скрипт, а в консоли браузера появляется сообщение о блокировке скрипта или фрейма. В FAQ Google перечислены источники, которые нужно добавить в директивы:

    script-src  https://www.google.com/recaptcha/ https://www.gstatic.com/recaptcha/
    frame-src  https://www.google.com/recaptcha/ https://recaptcha.google.com/recaptcha/
    connect-src https://www.google.com/recaptcha/

  • Межсетевой экран, прокси или VPN, блокирующие домены Google, также мешают работе виджета. В сети посетителя разрешите доступ к *.google.com, *.gstatic.com и *.recaptcha.net. Там, где www.google.com недоступен, Google рекомендует загружать скрипт с www.recaptcha.net и соответствующим образом менять остальные ссылки на www.google.com/recaptcha/.
  • Любой вызов grecaptcha до загрузки api.js завершится ошибкой. Оберните такие вызовы в grecaptcha.ready() или используйте callback onload.
  • Если на странице несколько виджетов, grecaptcha.getResponse() и grecaptcha.reset() работают с первым виджетом, если не передать ID. Отрисовывайте виджеты явно и сохраняйте каждый ID, который возвращает grecaptcha.render().

Для виджета v2 с галочкой добавьте data-error-callback. Google отмечает, что после этого вы отвечаете за уведомление пользователя о необходимости повторить попытку.

«Captcha score is not above the threshold» в reCAPTCHA v3

Это сообщение появляется, когда Google принимает токен v3, но возвращает оценку ниже порога, заданного на вашем сайте или в плагине. Сама интеграция работает, поэтому проверить нужно настройку порога.

На шкале Google значение 0.0 означает высокий риск, а 1.0 — низкий. В примерах политик проверки Google использует порог 0.5, но рекомендует выбирать пороги по данным реального трафика. Оценки на тестовом окружении могут отличаться от оценок в рабочем.

  1. Прежде чем блокировать запросы, начните записывать оценки в лог, а затем, как рекомендует Google, подберите пороги по данным трафика в консоли.
  2. Задайте отдельный порог для каждого действия: консоль показывает статистику по десяти самым частым действиям.
  3. При низких оценках используйте дополнительную проверку вместо отказа. В документации Enterprise Google предлагает проверку по электронной почте или MFA для попыток входа с низкой оценкой.
  4. Убедитесь, что значение action в ответе совпадает с переданным вами.

Например, форма подписки на рассылку может принимать оценки от 0.3, а при входе с оценкой ниже 0.7 — запрашивать код из письма вместо блокировки.

Для мобильных приложений нужна отдельная проверка. В примечаниях к выпускам Google описывает перекалибровку оценок в мобильном SDK 2026 года. Если после обновления SDK стало больше ложных срабатываний, стоит пересмотреть пороги приложения.

В Enterprise проекты без подключённого биллинга получают четыре уровня оценки — 0.1, 0.3, 0.7 и 0.9 — вместо 11.

	Настройки reCAPTCHA v2 checkbox в Google Cloud Console
    Аналитика оценок риска reCAPTCHA Enterprise в Google Cloud Console

Если проект без активного платёжного аккаунта превышает бесплатную квоту в 10 000 оценок в месяц, siteverify возвращает success: true с фиксированной оценкой 0.9 и сообщением «Over free quota.». Если все оценки внезапно стали равны 0.9, сначала проверьте квоту.

Та же ошибка в Firebase, Adobe AEM и Zoho Forms

Эти платформы показывают собственные сообщения при сбое reCAPTCHA. В таблице указаны сообщения, их причины и способы исправления.

ПлатформаСообщениеПричинаРешение
Аутентификация по номеру телефона в Firebase (Identity Platform)CAPTCHA_CHECK_FAILED : Recaptcha verification failed - SITE_MISMATCHТокен получен на сайте, домен которого не входит в список разрешённых для ключа (ответ сотрудника Google)Добавьте домен в настройки ключа сайта
Adobe AEM FormsCAPTCHA_VALIDATION, HTTP 400После миграции форма по-прежнему использует устаревшие ключи v2 (база знаний Adobe)Обновите ключи в конфигурации reCAPTCHA для Adaptive Forms
Zoho FormsТо же сообщение: reCAPTCHA validation failedНеверный секретный ключ в Settings, непройденная проверка на спам или проблема на стороне Google (справка Zoho)Проверьте секретный ключ в Settings

Пример серверной проверки reCAPTCHA на PHP

Если reCAPTCHA не прошла проверку на сервере, сначала запишите код ошибки в лог. Отрицательный результат проверки Google и неудачный запрос к Google нужно обрабатывать отдельно. 

В PHP-примере ниже для этих случаев предусмотрены разные ответы. Значение hostname проверяется для всех ключей, а score и action — для v3.

<?php
$secretKey      = getenv('RECAPTCHA_SECRET');          // legacy secret key, server-side only
$expectedHost   = 'www.example.com';                   // your domain
$expectedAction = 'signup';                            // v3 only: action name set on the client
$threshold      = 0.5;                                 // v3 only: tune using your own traffic data

$token = $_POST['g-recaptcha-response'] ?? '';
if ($token === '') {
    http_response_code(400);
    exit('Please complete the CAPTCHA.');
}

$ch = curl_init('https://www.google.com/recaptcha/api/siteverify');
curl_setopt_array($ch, [
    CURLOPT_POST           => true,
    CURLOPT_POSTFIELDS     => http_build_query([
        'secret'   => $secretKey,
        'response' => $token,
        'remoteip' => $_SERVER['REMOTE_ADDR'] ?? '',
    ]),
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_TIMEOUT        => 10,
]);

$raw = curl_exec($ch);
if ($raw === false) {
    // Network problem between your server and Google, not a reCAPTCHA failure
    error_log('siteverify request failed: ' . curl_error($ch));
    curl_close($ch);
    http_response_code(503);
    exit('Verification service unavailable. Please try again.');
}
curl_close($ch);

$result = json_decode($raw, true);

if (empty($result['success'])) {
    $codes = $result['error-codes'] ?? ['unknown-error'];
    error_log('reCAPTCHA failed: ' . implode(', ', $codes));
    http_response_code(400);
    exit('Verification failed. Please try again.');
}

if (($result['hostname'] ?? '') !== $expectedHost) {
    http_response_code(400);
    exit('Verification failed: unexpected hostname.');
}

// v3 only: score and action checks
if (isset($result['score'])) {
    if (($result['action'] ?? '') !== $expectedAction || $result['score'] < $threshold) {
        http_response_code(403);
        exit('Additional verification required.');
    }
}

echo 'Verification successful';

В разметке виджета v2 с галочкой используются атрибуты data-expired-callback и data-error-callback, описанные выше.

<!DOCTYPE html>
<html>
<head>
  <title>reCAPTCHA v2 checkbox</title>
  <script src="https://www.google.com/recaptcha/api.js" async defer></script>
</head>
<body>
  <form action="verify.php" method="POST">
    <div class="g-recaptcha"
         data-sitekey="YOUR_SITE_KEY"
         data-expired-callback="onCaptchaExpired"
         data-error-callback="onCaptchaError"></div>
    <br>
    <input type="submit" value="Submit">
  </form>

  <script>
    function onCaptchaExpired() { alert('The CAPTCHA expired. Please check the box again.'); }
    function onCaptchaError()   { alert('reCAPTCHA could not load. Check your connection and try again.'); }
  </script>
</body>
</html>

reCAPTCHA Enterprise и v2 с галочкой: где возникают сбои и почему

Google проверяет токены Enterprise иначе, чем токены v2 с галочкой. В v2 siteverify возвращает результат проверки и короткий код ошибки, а оценка Enterprise подробнее объясняет, почему токен был отклонён. Различия в устройстве и стоимости разобраны отдельно: сравнение возможностей и стоимости reCAPTCHA v2, v3 и Enterprise.

Как проходит проверка и что приходит в ответе

В v2 с галочкой токен появляется после того, как посетитель нажимает «Я не робот». Сервер отправляет токен и секретный ключ в siteverify POST-запросом. Ответ содержит success, challenge_ts, hostname и, при наличии ошибок, массив error-codes. Оценка риска в ответе v2 не возвращается.

Токены Enterprise получают через grecaptcha.enterprise.execute() или через виджет Enterprise с галочкой, отрисованный на странице. Для проверки сервер создаёт оценку — assessment, отправляя POST-запрос по адресу: https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/assessments.

В теле запроса передаются токен, ключ сайта и ожидаемое действие. Google также рекомендует передавать User-Agent и IP-адрес пользователя.

{
  "event": {
    "token": "TOKEN",
    "siteKey": "KEY_ID",
    "expectedAction": "login",
    "userAgent": "USER_AGENT",
    "userIpAddress": "USER_IP"
  }
}

В ответ входят tokenProperties (valid, invalidReason, hostname, action) и riskAnalysis (score, reasons).

Где посмотреть причину неудачной проверки

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

Enterprise даёт больше информации. При отклонении токена поле invalidReason указывает причину: например, MALFORMED, EXPIRED, DUPE, MISSING, BROWSER_ERROR, UNEXPECTED_ACTION, KEY_MISMATCH или DOMAIN_MISMATCH. Для действительного токена с низкой оценкой вместо этого возвращаются значения riskAnalysis.reasons, например AUTOMATION, TOO_MUCH_TRAFFIC или LOW_CONFIDENCE_SCORE. Последний код означает, что трафика слишком мало для надёжного анализа. Для получения кодов причин нужен платёжный аккаунт.

Чем различается проверка токенов

Для аутентификации в siteverify используется секретный ключ. Для assessments — API-ключ или сервисный аккаунт с ролью reCAPTCHA Enterprise Agent. В v2 сервер проверяет только success. В Enterprise сервер должен убедиться, что tokenProperties.valid равно true, действие совпадает с ожидаемым, а оценка проходит установленный порог. 

С ключами Enterprise siteverify по-прежнему работает через legacy secret key, но для новых интеграций Google рекомендует CreateAssessment.

Как выглядят настройки в консоли

В отдельной консоли reCAPTCHA Admin ключ создаётся в одной форме. Нужно заполнить Label, выбрать тип ключа — Score based (v3) или Challenge (v2) — и указать домены. После нажатия Submit ключ будет создан.

В консоли Google Cloud (Google Cloud Fraud Defense) процесс разделён на два шага. Создание начинается на вкладке Keys с кнопки Create key. В открывшейся форме есть поля Display name, Application type и Domain list, а рядом — переключатель Disable domain verification.

С апреля 2026 года reCAPTCHA входит в Google Cloud Fraud Defense. По данным Google, это изменение не влияет на существующие функции.

	Ключ reCAPTCHA Enterprise и аналитика оценок риска, 2026
Ключ reCAPTCHA Enterprise и аналитика оценок риска

При использовании ключей с проверками на основе политик — policy-based challenge keys, общедоступных с октября 2025 года, посетители получают задание, когда оценка опускается ниже заданного вами порога. В Policy Engine, доступном в Preview с июля 2026 года, можно задавать правила по оценке, IP-адресу, User-Agent или ASN.

Ошибки Enterprise и v2: симптомы, где искать причину и что изменить

СимптомГде искать причинуЧто изменить
timeout-or-duplicate (v2) или EXPIRED / DUPE (Enterprise)Серверные логи, invalidReasonПолучайте токен при отправке формы и проверяйте его один раз
invalid-input-secret с ключом EnterpriseKey Details → IntegrationИспользуйте legacy secret key или перейдите на assessments
DOMAIN_MISMATCH или «Localhost is not in the list of supported domains»Список доменов ключаДобавьте нужный домен; для localhost используйте отдельный ключ
Низкие оценки с LOW_CONFIDENCE_SCOREriskAnalysis.reasonsСоберите больше данных о трафике, прежде чем блокировать запросы

Как исправить ошибку проверки reCAPTCHA: чек-лист

Для пользователей

Если reCAPTCHA не проходит проверку на сайте, который вы посещаете, обычно причина связана с браузером или сетью и её можно устранить на вашей стороне.

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

  • Обновите браузер. Google поддерживает две последние основные версии популярных браузеров.

  • Включите JavaScript.

  • Отключите VPN или попробуйте другую сеть.

  • Если проблема остаётся, свяжитесь с владельцем сайта.

Для владельцев сайтов

Если проблемы с reCAPTCHA возникают на вашем сервере, последовательно проверьте каждый пункт.

  • Убедитесь, что ключ сайта и секретный ключ относятся к одной паре и не содержат лишних пробелов или переносов строк.

  • Проверьте, что в настройках ключа указаны все домены рабочего сайта.

  • Убедитесь, что ключ связан с проектом Google Cloud.

  • Настройте получение токенов при отправке формы.

  • Отключайте кнопку Submit после первого нажатия.

  • Исключите повторную проверку одного и того же токена.

  • После ошибки в форме сбрасывайте виджет или получайте новый токен.

  • Проверяйте hostname на сервере для всех ключей, а для v3 — также score и action.

  • Разрешите в CSP источники reCAPTCHA, указанные Google.

  • Настройте порог v3 по оценкам, записанным в логи.

  • Записывайте в логи коды ошибок и hostname, но не секретный ключ и не полный токен.

  • Сохраняйте введённые посетителем данные формы после неудачной проверки.

robots
Начните сейчас и автоматизируйте решение reCAPTCHA v2

Это значит, что система анализа рисков Google считает взаимодействие подозрительным. На шкале от 0.0 до 1.0 низкие значения указывают на автоматизированную или мошенническую активность, а 1.0 — на визит, который с высокой вероятностью является легитимным. Низкая оценка не делает токен недействительным, поэтому дальнейшее действие определяет сайт. Одни формы сразу блокируют такие запросы. Форма входа может вместо этого запросить код из письма, а форма подписки на рассылку — просто пометить запись для проверки.


 


 

В примерах политик проверки Google использует 0.5. Дальше порог нужно подбирать по собственному трафику. Записывайте оценки, не блокируя пользователей, изучите распределение и задайте отдельный порог для каждого действия. Оценки на тестовом окружении могут отличаться от рабочего, поэтому после запуска значения стоит пересмотреть.

Она означает, что с момента получения токена прошло больше двух минут или сервер уже проверял его. Обычно причина — длинная форма, токен v3, полученный при загрузке страницы, или повторная отправка. Запрашивайте токен непосредственно перед отправкой и отключайте кнопку после первого нажатия. Каждый токен нужно проверять только один раз.

Да. В v2 при неудачной проверке siteverify возвращает success: false и один из шести кодов ошибок. Enterprise вместо этого возвращает assessment с tokenProperties.valid, конкретной причиной в invalidReason, например EXPIRED или DOMAIN_MISMATCH, а для действительных токенов — оценкой и кодами причин. Аутентификация тоже различается: вместо секретного ключа используется API-ключ или сервисный аккаунт.

Нет. Часто причина на стороне посетителя: блокировщик рекламы, VPN, межсетевой экран или страница, которая слишком долго оставалась открытой. Низкая оценка v3 тоже не означает ошибку настройки. Начните с серверных логов. Коды, связанные с секретным ключом, доменом или форматом запроса, указывают на проблемы в самой настройке reCAPTCHA.

Читайте также

Автоматизированное тестирование форм с reCAPTCHA с помощью CapMonster Cloud

Для автоматизированных тестов ваших форм API CapMonster Cloud поддерживает reCAPTCHA v2, reCAPTCHA v3 и reCAPTCHA Enterprise, включая типы задач RecaptchaV2Task, RecaptchaV3TaskProxyless, RecaptchaV2EnterpriseTask и RecaptchaV3EnterpriseTask. Инструкции по настройке и параметры каждого типа задачи приведены в документации CapMonster Cloud по reCAPTCHA.


NB: Пожалуйста, обратите внимание, что продукт предназначен для автоматизации тестирования исключительно ваших собственных веб-сайтов и ресурсов, к которым у вас есть законное право доступа.
ItGuy
geear
Партнёрская программа для разработчиков софта
Зарабатывайте до 30% от трат ваших пользователей на обход капчи
✅ Заявка отправлена
Спасибо за интерес к нашей партнёрской программе! Мы свяжемся с вами в течение 7 рабочих дней.
Заявка на подключение
Заполните форму, чтобы отправить заявку на подключение к партнёрской программе
Больше статей