В этой статье мы постарались дать ответы на все вопросы. А начать решение задачи нужно с определения того, какая система защиты используется. Для этого можно обратиться к списку популярных капч и систем антибот-защиты, где представлены визуальные примеры и ключевые признаки, которые могут помочь быстро определить, с чем вы имеете дело.
Если вы обнаружили, что на вашем сайте используется reCAPTCHA v3, следующим шагом станет более подробное изучение её свойств и самой работы. Также в этой статье вы можете изучить инструкцию по подключению системы reCAPTCHA v3, чтобы полностью разобраться, как она функционирует на вашем сайте. Это позволит не только понимать текущую защиту, но и грамотно планировать её поддержку.
При тестировании форм с reCAPTCHA v3 часто возникает необходимость проверить работу капчи и убедиться, что она корректно интегрирована.
Вы можете вручную протестировать подставленную на ваш сайт капчу.
Для автоматического распознавания капчи можно использовать специализированные сервисы, например, CapMonster Cloud — инструмент, который принимает параметры капчи, обрабатывает их на своих серверах и возвращает готовый токен. Этот токен можно подставить в форму, чтобы пройти проверку без участия пользователя.
Работа с CapMonster Cloud через API обычно включает следующие шаги:
В запросе для решения reCAPTCHA v3 необходимо указать следующие параметры:
type - RecaptchaV3TaskProxyless;
websiteURL - адрес страницы, на которой решается капча;
websiteKey - ключ-идентификатор (sitekey), который указан на странице вашего сайта с капчей;
minScore - может иметь значение от 0.1 до 0.9;
pageAction - значение параметра action, которое передаётся виджетом ReCaptcha в Google. Значение по умолчанию: verify.
https://api.capmonster.cloud/createTask{
"clientKey": "API_KEY",
"task": {
"type": "RecaptchaV3TaskProxyless",
"websiteURL": "https://lessons.zennolab.com/captchas/recaptcha/v3.php?level=beta",
"websiteKey": "6Le0xVgUAAAAAIt20XEB4rVhYOODgTl00d8juDob",
"minScore": 0.7,
"pageAction": "myverify"
}
}
{
"errorId":0,
"taskId":407533072
}
https://api.capmonster.cloud/getTaskResult{
"clientKey":"API_KEY",
"taskId": 407533072
}
{
"errorId": 0,
"status": "ready",
"solution": {
"gRecaptchaResponse": "3AHJ_VuvYIBNBW5yyv0zRYJ75VkOKv…hKj9_xGBJKnQimF72rfoq3Iy-DyGHMwLAo6a3"
}
}
const { chromium } = require('playwright');
const {
CapMonsterCloudClientFactory,
ClientOptions,
RecaptchaV3ProxylessRequest
} = require('@zennolab_com/capmonstercloud-client');
(async () => {
const TARGET_URL = 'https://lessons.zennolab.com/captchas/recaptcha/v3.php?level=beta'; // URL вашей страницы с капчей
const SITE_KEY = '6Le0xVgUAAAAAIt20XEB4rVhYOODgTl00d8juDob';
const API_KEY = 'your_capmonster_cloud_api_key'; // Укажите ваш API-ключ CapMonster Cloud
// Создаём клиента CapMonster
const cmcClient = CapMonsterCloudClientFactory.Create(new ClientOptions({ clientKey: API_KEY }));
// Открываем браузер
const browser = await chromium.launch({ headless: false });
const page = await browser.newPage();
await page.goto(TARGET_URL, { waitUntil: 'domcontentloaded' });
// Настройка задачи reCAPTCHA v3
const recaptchaRequest = new RecaptchaV3ProxylessRequest({
websiteURL: TARGET_URL,
websiteKey: SITE_KEY,
minScore: 0.6,
pageAction: 'myverify', // соответствие action на странице
});
// Решаем капчу
const solution = await cmcClient.Solve(recaptchaRequest);
const token = solution.solution?.gRecaptchaResponse;
if (!token) {
console.error('Токен пустой, проверьте sitekey и URL');
await browser.close();
return;
}
console.log('Токен получен:', token);
// Подставляем токен в скрытое поле и эмулируем клик на кнопку
// Замените на нужные селекторы
await page.evaluate((t) => {
const input = document.querySelector('#v3_token');
if (input) input.value = t;
const form = document.querySelector('#v3_form');
if (form) form.submit();
}, token);
console.log('Токен вставлен и форма отправлена');
await page.waitForTimeout(5000);
await browser.close();
})();1. Перейдите на страницу админ-панели reCAPTCHA.
2. Зарегистрируйте новый сайт и выберите тип капчи — reCAPTCHA v3

3. Получите два ключа:

Вы можете открыть настройки, где, например, дополнительно можно указать домены для использования reCAPTCHA или настроить оповещения о проблемах на сайте или росте подозрительного трафика.
4. Примеры кода для клиентской части
Самый простой способ использовать reCAPTCHA v3 — подключить JavaScript API и добавить атрибуты к кнопке.
Подключение API:
<script src="https://www.google.com/recaptcha/api.js"></script>Функция обратного вызова для формы:
<script>
function onSubmit(token) {
document.getElementById("form").submit();
}
</script>
Кнопка с атрибутами reCAPTCHA:
<button class="g-recaptcha"
data-sitekey="reCAPTCHA_sitekey"
data-callback='onSubmit'
data-action='submit'>Submit</button>
Для полного контроля используйте grecaptcha.execute с параметром render:
Подключение API с ключом:
<script src="https://www.google.com/recaptcha/api.js?render=reCAPTCHA_site_key"></script>Программный вызов:
<script>
function onClick(e) {
e.preventDefault();
grecaptcha.ready(function() {
grecaptcha.execute('reCAPTCHA_sitekey', {action: 'submit'}).then(function(token) {
// Отправьте токен на сервер для проверки
});
});
}
</script>
Токен следует сразу отправлять на сервер для верификации.
Важные замечания:
5. Теперь на серверной стороне выполните проверку ответа
<?php
// Ваш секретный ключ reCAPTCHA v3
$secret = 'YOUR_SECRET_KEY';
// Получаем токен с формы
$token = $_POST['recaptcha-token'] ?? '';
// Отправляем запрос к Google для проверки токена
$response = file_get_contents(
"https://www.google.com/recaptcha/api/siteverify?secret={$secret}&response={$token}"
);
$result = json_decode($response, true);
// Проверяем успешность и оценку доверия
if ($result['success'] && $result['score'] >= 0.5 && $result['action'] === 'submit') {
echo "Проверка пройдена";
} else {
http_response_code(403);
echo "Проверка не пройдена";
}
?>
Примечания:
<input type="hidden" name="recaptcha-token" id="recaptcha-token">Если вам достался сайт с уже установленной капчей или другой системой защиты и при этом нет доступа к коду — ничего страшного! Определить, какая именно технология используется, достаточно легко. А для проверки корректности работы можно использовать сервис распознавания CapMonster Cloud в изолированной тестовой среде, чтобы убедиться, что механизм обработки токенов и логика проверки функционируют корректно.
В случае с reCAPTCHA v3 — достаточно распознать систему, изучить её поведение и убедиться, что защита функционирует корректно. В статье мы показали, как определить reCAPTCHA v3 и где найти инструкции по её подключению или перенастройке, чтобы уверенно поддерживать защиту и контролировать её работу.