W tym artykule staraliśmy się odpowiedzieć na wszystkie najważniejsze pytania. Pierwszym krokiem w rozwiązywaniu problemu jest ustalenie, jaki system ochrony jest używany. W tym celu możesz skorzystać z listy popularnych captcha i systemów ochrony antybotowej, gdzie znajdziesz przykłady graficzne oraz kluczowe cechy, które pomogą szybko rozpoznać, z czym masz do czynienia.
Jeśli okaże się, że na Twojej stronie używany jest reCAPTCHA v3, kolejnym krokiem będzie dokładniejsze poznanie jej właściwości i sposobu działania. W tym artykule możesz również zapoznać się z instrukcją integracji systemu reCAPTCHA v3, aby w pełni zrozumieć, jak funkcjonuje on na Twojej stronie. Dzięki temu nie tylko lepiej poznasz obecną ochronę, ale też świadomie zaplanujesz jej dalsze utrzymanie.
Podczas testowania formularzy z reCAPTCHA v3 często trzeba zweryfikować, czy captcha jest poprawnie zintegrowana i działa.
Możesz ręcznie sprawdzić captchę na swojej stronie.
Do automatycznego rozwiązywania wykorzystaj narzędzia takie jak CapMonster Cloud, które przyjmują parametry captcha, przetwarzają je na serwerach i zwracają gotowy token. Wstaw go do formularza, aby przejść weryfikację bez udziału użytkownika.
Praca z CapMonster Cloud poprzez API zazwyczaj obejmuje następujące kroki:
W żądaniu rozwiązania reCAPTCHA v3 należy podać następujące parametry:
type - RecaptchaV3TaskProxyless;
websiteURL - adres strony, na której rozwiązywana jest captcha;
websiteKey - identyfikator klucza (sitekey) podany na stronie twojej witryny z captchą;
minScore - może przyjmować wartość od 0.1 do 0.9;
pageAction - wartość parametru action przekazywana przez widżet ReCaptcha w Google. Wartość domyślna: 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 Twojej strony z captchą
const SITE_KEY = '6Le0xVgUAAAAAIt20XEB4rVhYOODgTl00d8juDob';
const API_KEY = 'your_capmonster_cloud_api_key'; // Podaj swój klucz API CapMonster Cloud
// Tworzymy klienta CapMonster
const cmcClient = CapMonsterCloudClientFactory.Create(new ClientOptions({ clientKey: API_KEY }));
// Otwieramy przeglądarkę
const browser = await chromium.launch({ headless: false });
const page = await browser.newPage();
await page.goto(TARGET_URL, { waitUntil: 'domcontentloaded' });
// Konfiguracja zadania reCAPTCHA v3
const recaptchaRequest = new RecaptchaV3ProxylessRequest({
websiteURL: TARGET_URL,
websiteKey: SITE_KEY,
minScore: 0.6,
pageAction: 'myverify', // dopasowanie do action na stronie
});
// Rozwiązujemy captchę
const solution = await cmcClient.Solve(recaptchaRequest);
const token = solution.solution?.gRecaptchaResponse;
if (!token) {
console.error('Токен пустой, проверьте sitekey и URL');
await browser.close();
return;
}
console.log('Otrzymany token:', token);
// Podstawiamy token w ukryte pole i emulujemy kliknięcie przycisku
// Zastąp potrzebnymi selektorami
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('Token został wstawiony, a formularz wysłany');
await page.waitForTimeout(5000);
await browser.close();
})();1. Przejdź na stronę panelu administracyjnego reCAPTCHA.
2. Zarejestruj nową stronę i wybierz typ captchy — reCAPTCHA v3

3. Pobierz dwa klucze:

Możesz otworzyć ustawienia, gdzie na przykład dodatkowo określisz domeny, na których reCAPTCHA może być używana, albo skonfigurujesz powiadomienia o problemach ze stroną czy wzroście podejrzanego ruchu.
4. Przykłady kodu dla części klienckiej
Najprostszym sposobem użycia reCAPTCHA v3 jest podłączenie JavaScript API i dodanie atrybutów do przycisku.
Podłączenie API:
<script src="https://www.google.com/recaptcha/api.js"></script>Funkcja callback dla formularza:
<script>
function onSubmit(token) {
document.getElementById("form").submit();
}
</script>
Przycisk z atrybutami reCAPTCHA:
<button class="g-recaptcha"
data-sitekey="reCAPTCHA_sitekey"
data-callback='onSubmit'
data-action='submit'>Submit</button>
Dla pełnej kontroli użyj grecaptcha.execute z parametrem render:
Podłączenie API z kluczem:
<script src="https://www.google.com/recaptcha/api.js?render=reCAPTCHA_site_key"></script>Wywołanie programistyczne:
<script>
function onClick(e) {
e.preventDefault();
grecaptcha.ready(function() {
grecaptcha.execute('reCAPTCHA_sitekey', {action: 'submit'}).then(function(token) {
// Wyślij token na serwer do weryfikacji
});
});
}
</script>
Token należy od razu wysłać na serwer do weryfikacji.
Ważne uwagi:
5. Teraz po stronie serwera dokonaj weryfikacji odpowiedzi
<?php
// Twój tajny klucz (Secret Key) reCAPTCHA v3
$secret = 'YOUR_SECRET_KEY';
// Pobieramy token z formularza
$token = $_POST['recaptcha-token'] ?? '';
// Wysyłamy żądanie do Google w celu weryfikacji tokena
$response = file_get_contents(
"https://www.google.com/recaptcha/api/siteverify?secret={$secret}&response={$token}"
);
$result = json_decode($response, true);
// Sprawdzamy powodzenie i współczynnik zaufania
if ($result['success'] && $result['score'] >= 0.5 && $result['action'] === 'submit') {
echo "Weryfikacja zakończona sukcesem";
} else {
http_response_code(403);
echo "Weryfikacja nieudana";
}
?>
Uwagi:
<input type="hidden" name="recaptcha-token" id="recaptcha-token">Jeśli przejąłeś stronę internetową, na której jest już zainstalowany captcha lub inny system zabezpieczeń, a jednocześnie nie masz dostępu do kodu — to nic strasznego! Dość łatwo jest ustalić, jaka dokładnie technologia jest używana. Aby sprawdzić poprawność działania, możesz skorzystać z usługi rozpoznawania CapMonster Cloud w odizolowanym środowisku testowym, żeby upewnić się, że mechanizm przetwarzania tokenów i logika weryfikacji działają prawidłowo.
W przypadku reCAPTCHA v3 wystarczy rozpoznać system, przeanalizować jego zachowanie i upewnić się, że zabezpieczenie działa poprawnie. W artykule pokazaliśmy, jak zidentyfikować reCAPTCHA v3 oraz gdzie znaleźć instrukcje dotyczące jego podłączenia lub ponownej konfiguracji, aby móc pewnie utrzymywać ochronę i kontrolować jej działanie.