Как найти секретный ключ reCAPTCHA и использовать его правильно

Если ваш сайт использует Google reCAPTCHA для блокировки ботов, секретный ключ reCAPTCHA — это ваши наиболее критичные с точки зрения безопасности учётные данные. Без него ваш сервер не сможет проверить, действительно ли пользователь прошёл CAPTCHA-проверку, — и в результате такая защита становится фактически бесполезной. Тем не менее именно этот ключ чаще всего настраивают неправильно, допускают его утечку или неверно понимают его назначение.
В этом руководстве подробно объясняется, что именно представляет собой секретный ключ, как найти его в Google Cloud Console, как правильно интегрировать его в код вашего бэкенда и как обеспечить его безопасность. Мы также рассмотрим, как такие инструменты, как CapMonster Cloud, используют связанный с ним публичный ключ для легитимного автоматизированного тестирования вашей собственной конфигурации CAPTCHA.
Что такое секретный ключ reCAPTCHA?
При регистрации сайта Google reCAPTCHA выдаёт два ключа, и прежде чем изменять хотя бы одну строку кода, крайне важно понимать разницу между ними.
Секретный ключ reCAPTCHA (в коде иногда обозначается как recaptcha_secret_key ) используется исключительно на вашем сервере. Он отправляется в POST-запросе к endpoint siteverify Google вместе с токеном, который сгенерировал браузер пользователя. В ответ Google возвращает объект JSON, подтверждающий, была ли проверка пройдена успешно.
И reCAPTCHA v2 (классический флажок и invisible-вариант), и reCAPTCHA v3 (оценка риска без взаимодействия с пользователем) используют одну и ту же модель с двумя ключами. Разница заключается в том, что представляет собой токен: бинарный результат «успех/ошибка» для v2 или оценку риска от 0.0 до 1.0 для v3.
Как найти ключ reCAPTCHA в reCAPTCHA Admin Console
Если вы впервые получаете пару ключей Google reCAPTCHA, это можно сделать через reCAPTCHA Admin Console — процесс описан в этом разделе. Если вы уже регистрировали ключи reCAPTCHA для своих сайтов, учтите, что существующие ключи управляются в Google Cloud Console; можете сразу перейти к следующему разделу.
Шаг 1 — Откройте reCAPTCHA Admin Console
Перейдите по адресу google.com/recaptcha/admin. Войдите в Google-аккаунт, которому должны принадлежать эти ключи.
Шаг 2 — Зарегистрируйте новый сайт
После входа вы увидите предложение зарегистрировать первый сайт:

Заполните следующие поля:
- Label: Отображаемое имя, которое используется только для идентификации ключей внутри консоли. Используйте понятное название, например Продакшен — форма оформления заказа или Стейджинг — страница контактов. Это никак не влияет ни на SEO, ни на безопасность; поле нужно исключительно для внутренней ясности, особенно если вы управляете несколькими ключами.
- reCAPTCHA type: см. таблицу ниже.
- Domains: Ограничивает, какие домены могут загружать и отправлять токены reCAPTCHA с использованием этого ключа. Регистрация домена example.com автоматически охватывает и subdomain.example.com — отдельно перечислять поддомены не нужно. Важно учитывать следующие правила:
- Не указывайте путь, порт, строку запроса или фрагмент URL (например, используйте example.com, а не example.com/contact).
- Изменение списка доменов может применяться до 30 минут.
- Это поле не применяется к типу сайта reCAPTCHA v2 Android.
Если держать этот список максимально ограниченным, это будет одним из самых эффективных способов предотвратить несанкционированное использование вашего ключа на сторонних доменах.
- Google Cloud Platform: Созданные API-ключи управляются в Google Cloud Platform. Поэтому, если у вас ещё нет аккаунта или проекта в Google Cloud Platform, система предложит автоматически создать его.
Шаг 3 — Выберите тип reCAPTCHA
Обратите внимание: после регистрации изменить его нельзя:
При выборе варианта google recaptcha v2 вы получаете виджет с настраиваемым уровнем защиты. При выборе варианта recaptcha v3 защита будет невидимой и основанной на оценке риска — ваш сервер сам решает, что делать с результатом.
Шаг 4 — Примите условия и отправьте форму
Установите флажок принятия условий сервиса и нажмите Submit. Google сгенерирует пару ключей.
Шаг 5 — Скопируйте свои ключи
На экране подтверждения вы увидите два значения:
- Site key — его безопасно делать публичным; он помещается в ваш HTML
- Secret key — это ваш google reCAPTCHA secret key; он должен находиться только на сервере

Сразу же сохраните оба значения в защищённый менеджер паролей или хранилище секретов. В последующем вы сможете увидеть эти ключи в Google Cloud Console.
Как найти ключ reCAPTCHA в Google Cloud Console
В настоящее время reCAPTCHA Admin Console позволяет зарегистрировать только ваш первый сайт. Последующее управление ключами и регистрация новых выполняются в Google Cloud Console.
Шаг 1 — Перейдите в Google Cloud Console
Чтобы просмотреть ключи для существующего сайта, откройте Google Cloud Console > Security > Detections and Controls > reCAPTCHA > вкладку Dashboard и немного прокрутите вниз до раздела reCAPTCHA keys:

Шаг 2 — Откройте панель Key details
Нажмите Key details, и вы перейдёте на панель Key details:

Шаг 3 — Скопируйте свои ключи
На странице Key details нажмите Edit key:

Откроется меню настроек, и вы увидите как site key (ID), так и secret key:

Как использовать ключи reCAPTCHA в своём коде
Процесс проверки состоит из двух отдельных частей: фронтенда, который показывает виджет, и бэкенда, который проверяет ответ.
Фронтенд: встраивание ключа сайта
Поместите следующий фрагмент в любую HTML-страницу, где вы хотите показать виджет. Атрибут data-sitekey должен содержать ваш публичный ключ reCAPTCHA.
Виджет reCAPTCHA v2 с флажком:
<html>
<head>
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
</head>
<body>
<form action="/submit" method="POST">
<div class="g-recaptcha" data-sitekey="YOUR_SITE_KEY"></div>
<button type="submit">Submit</button>
</form>
</body>
</html>Когда пользователь отправляет форму, скрипт Google добавляет скрытое поле g-recaptcha-response, содержащее короткоживущий токен. Именно этот токен ваш сервер должен проверить.
Бэкенд: проверка токена с помощью секретного ключа
Ваш сервер отправляет токен и recaptcha_secret_key на verification endpoint Google:
POST https://www.google.com/recaptcha/api/siteverify
Node.js (с использованием axios):
const axios = require('axios');
async function verifyRecaptcha(token) {
const secret = process.env.RECAPTCHA_SECRET_KEY; // загружается из переменных окружения
const { data } = await axios.post(
`https://www.google.com/recaptcha/api/siteverify`,
new URLSearchParams({ secret, response: token })
);
return data.success; // true, если это человек; false, если бот
}
PHP:
$token = $_POST['g-recaptcha-response'] ?? '';
$secret = getenv('RECAPTCHA_SECRET_KEY');
$options = [
'http' => [
'header' => "Content-type: application/x-www-form-urlencoded\\r\\n",
'method' => 'POST',
'content' => http_build_query(['secret' => $secret, 'response' => $token])
]
];
$context = stream_context_create($options);
$response = file_get_contents('https://www.google.com/recaptcha/api/siteverify', false, $context);
$result = json_decode($response, true);
if (!empty($result['success'])) {
// Продолжить обработку формы
} else {
// Отклонить запрос
}
Python (с использованием requests):
import requests, os
def verify_recaptcha(token: str) -> bool:
secret = os.environ["RECAPTCHA_SECRET_KEY"]
r = requests.post(
"https://www.google.com/recaptcha/api/siteverify",
data={"secret": secret, "response": token}
)
return r.json().get("success", False)API Google возвращает объект JSON. Для reCAPTCHA v2 проверяйте поле success . Для v3 также проверяйте поле score (значения ближе к 1.0 указывают на поведение человека) и поле action , чтобы убедиться, что токен был сгенерирован на ожидаемой странице.
Рекомендации по безопасности для ключей reCAPTCHA
Защита вашего приватного ключа Google reCAPTCHA — не опция, а необходимость: если секретный ключ утечёт, злоумышленники смогут подделывать результаты проверки и полностью обходить вашу защиту от ботов.
1. Никогда не раскрывайте секретный ключ на стороне клиента. Приватный ключ reCAPTCHA никогда не должен появляться в HTML, JavaScript, бинарных файлах мобильных приложений или публичных Git-репозиториях. Даже кратковременного появления в истории коммитов достаточно, чтобы скомпрометировать сайт — всегда обращайтесь с ним так же бережно, как с паролем от базы данных.
2. Храните ключи в переменных окружения или менеджере секретов. Жёстко прописывать recaptcha_secret_key в исходных файлах — одна из самых распространённых ошибок безопасности. Вместо этого загружайте его во время выполнения:
- Локальная разработка: файл .env, загружаемый через dotenv (никогда не коммитьте его в систему контроля версий)
- Продакшен: секреты платформы (например, AWS Secrets Manager, Google Secret Manager, HashiCorp Vault или интерфейс переменных окружения у вашего хостинг-провайдера)
3. Ограничивайте разрешённые домены. В Admin Console всегда указывайте точные домены, которым разрешено использовать ваш recaptcha key. Это не позволит другим сайтам отображать ваш виджет и расходовать вашу квоту — или потенциально исследовать логику вашей проверки.
4. Проверяйте каждое поле в ответе API. Безопасная серверная проверка должна подтверждать, что:
- success равно true
- hostname совпадает с вашим реальным доменом
- Для v3: score выше вашего порогового значения (обычно 0.5), а action совпадает с ожидаемым именем действия
- Токен ещё не использовался ранее (токены одноразовые; при попытках повторного использования возвращается success: false)
5. Ротируйте ключи при компрометации. Если вы подозреваете, что ваш приватный ключ Google reCAPTCHA утёк, немедленно перейдите в Admin Console, удалите затронутую пару ключей и зарегистрируйте новую. Обновите все развернутые окружения до того, как старый ключ перестанет работать.
6. Не отключайте мониторинг. Google Cloud Console предоставляет аналитику трафика. Регулярно просматривайте число запросов по доменам, долю неуспешных проверок и необычные всплески — они могут указывать на утечку ключа или активную попытку прорвать вашу защиту.
Автоматизированное тестирование reCAPTCHA с CapMonster Cloud
После того как интеграция reCAPTCHA запущена, нужно убедиться, что она работает должным образом — включая генерацию токенов, серверную валидацию и поведение формы после успешной проверки. Во время QA вручную решать CAPTCHA медленно и непоследовательно. Именно здесь CapMonster Cloud становится практичным инструментом.
CapMonster Cloud — это сервис автоматического решения CAPTCHA, предназначенный для тестирования ваших собственных сайтов и систем, к которым у вас есть законный доступ. Важно, что он работает с вашим публичным ключом reCAPTCHA (site key), а не с секретным, — это означает, что ваш recaptcha_secret_key никогда не покидает сервер даже во время автоматизированных тестовых прогонов.
Как это работает
CapMonster Cloud принимает задачу через свой API, решает CAPTCHA на своих серверах и возвращает готовый к использованию токен g-recaptcha-response, который вы вставляете в форму для проверки.
Пример решения reCAPTCHA v3 с помощью CapMonster Cloud:
Создание задачи:
POST https://api.capmonster.cloud/createTaskЗапрос
{
"clientKey": "API_KEY",
"task": {
"type": "RecaptchaV3TaskProxyless",
"websiteURL": "https://lessons.zennolab.com/captchas/recaptcha/v3.php?level=beta",
"websiteKey": "6Le0xVgUAAAAAIt20XEB4rVhYOODgTl00d8juDob",
"isEnterprise": false,
"minScore": 0.7,
"pageAction": "myverify"
}
}Ответ
{
"errorId":0,
"taskId":407533072
}Получение результата задачи:
POST https://api.capmonster.cloud/getTaskResultЗапрос
{
"clientKey":"API_KEY",
"taskId": 407533072
}Ответ
{
"errorId":0,
"status":"ready",
"solution": {
"gRecaptchaResponse":"3AHJ_VuvYIBNBW5yyv0zRYJ75VkOKvhKj9_xGBJKnQimF72rfoq3Iy-DyGHMwLAo6a3"
}
}Затем возвращённый токен отправляется на ваш сервер точно так же, как и токен реального пользователя, что позволяет в автоматизированном и повторяемом тесте проверить весь конвейер валидации — включая логику вашего recaptcha_secret_key. CapMonster Cloud поддерживает reCAPTCHA v2 (флажок и invisible), reCAPTCHA v3 и широкий набор других типов CAPTCHA, что делает его подходящим решением для комплексного регрессионного тестирования защиты сайта от ботов.
Подробная документация по API и примеры интеграции доступны на сайте capmonster.cloud.
Заключение
Ваш секретный ключ reCAPTCHA — основа серверной проверки ботов, и его правильное получение, безопасная интеграция и защита от раскрытия являются обязательными шагами для любого продакшен-развёртывания. Зарегистрируйте сайт в reCAPTCHA Admin Console или Google Cloud Console, храните секрет исключительно на стороне сервера в переменных окружения и проверяйте каждое поле, которое возвращает Google, а не только булево значение success.
Для команд, которым нужно автоматизировать QA для своих CAPTCHA-процессов, CapMonster Cloud предоставляет понятный API для тестирования жизненного цикла токенов без раскрытия приватного ключа. Начните работу с CapMonster Cloud и навсегда исключите ручное решение CAPTCHA из своего тестового конвейера.






