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 V2, 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 V2, 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 V2 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:
Żądanie rozwiązania reCAPTCHA v2 musi zawierać następujące parametry:
type - RecaptchaV2Task;
websiteURL - adres strony z captchą;
websiteKey - sitekey podany na stronie z captchą.
https://api.capmonster.cloud/createTask{
"clientKey": "API_KEY",
"task": {
"type": "RecaptchaV2Task",
"websiteURL": "https://lessons.zennolab.com/captchas/recaptcha/v2_simple.php?level=high",
"websiteKey": "6Lcg7CMUAAAAANphynKgn9YAgA4tQ2KI_iqRyTwd"
}
}
{
"errorId":0,
"taskId":407533072
}https://api.capmonster.cloud/getTaskResult{
"clientKey":"API_KEY",
"taskId": 407533072
}
{
"errorId": 0,
"status": "ready",
"solution": {
"gRecaptchaResponse": "03AFcWeA66ZARdA5te7acD9vSwWE2hEQ2-B2aqFxm455iMA-g-Jis…"
}
}
// npm install playwright @zennolab_com/capmonstercloud-client
// npx playwright install chromium
const { chromium } = require('playwright');
const { CapMonsterCloudClientFactory, ClientOptions, RecaptchaV2Request } = require('@zennolab_com/capmonstercloud-client');
(async () => {
const browser = await chromium.launch({ headless: false });
const page = await browser.newPage();
const TARGET_URL = 'https://lessons.zennolab.com/captchas/recaptcha/v2_simple.php?level=high';
const WEBSITE_KEY = '6Lcg7CMUAAAAANphynKgn9YAgA4tQ2KI_iqRyTwd';
const CMC_API_KEY = 'your_capmonster_cloud_api_key';
const cmc = CapMonsterCloudClientFactory.Create(new ClientOptions({ clientKey: CMC_API_KEY }));
await page.goto(TARGET_URL, { waitUntil: 'domcontentloaded' });
// Rozwiązywanie captcha
const solution = await cmc.Solve(new RecaptchaV2Request({ websiteURL: TARGET_URL, websiteKey: WEBSITE_KEY }));
const token = solution.solution.gRecaptchaResponse;
// Wstaw token i wyślij formularz (zamień na potrzebny selektor)
await page.evaluate((t) => {
const ta = document.querySelector('textarea#g-recaptcha-response');
if (ta) ta.value = t;
document.querySelector('form.formular')?.submit();
}, token);
console.log('Captcha rozwiązana, formularz wysłany!');
})();1. Przejdź do strony konsoli administracyjnej reCAPTCHA.
2. Zarejestruj nową stronę.
Wybierz typ captcha — reCAPTCHA v2 (checkbox z zadaniami albo wersja niewidoczna).

3. Pobierz dwa klucze:

W ustawieniach możesz wskazać domeny, które mogą korzystać z reCAPTCHA, lub wybrać poziom bezpieczeństwa — od podstawowego do maksymalnego.
4. Przykład kodu po stronie klienta. Formularz HTML z reCAPTCHA v2 (można wkleić do kodu strony):
Dla widżetu z checkboxem:
<html>
<head>
<title>reCAPTCHA demo</title>
<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>
<br/>
<input type="submit" value="Submit">
</form>
</body>
</html>Kod ładuje bibliotekę Google reCAPTCHA i tworzy formularz wysyłający dane metodą POST. <div class="g-recaptcha" data-sitekey="your_site_key"></div> wyświetla widżet reCAPTCHA v2 z twoim kluczem publicznym. Po kliknięciu “Submit” formularz zostaje wysłany z tokenem g-recaptcha-response do weryfikacji na serwerze.
Dla niewidocznej reCAPTCHA v2:
<html>
<head>
<title>reCAPTCHA demo</title>
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
<script>
function onSubmit(token) {
document.getElementById("demo-form").submit();
}
</script>
</head>
<body>
<form id="demo-form" action="?" method="POST">
<button class="g-recaptcha" data-sitekey="your_site_key" data-callback="onSubmit">Submit</button>
<br/>
</form>
</body>
</html>Przycisk <button class="g-recaptcha" data-sitekey="your_site_key" data-callback="onSubmit">Submit</button> automatycznie uruchamia niewidoczną captchę, generuje token i wywołuje onSubmit.
Funkcja onSubmit(token) odbiera token g-recaptcha-response i wysyła formularz na serwer.
W przeciwieństwie do klasycznego widżetu użytkownik nie widzi captchy — weryfikacja zachodzi w tle
5. Zweryfikuj odpowiedź po stronie serwera.
Sprawdzenie metody i pobranie danych
?php
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
http_response_code(405);
exit('Metoda niedozwolona');
}
// Pobieranie tokenu reCAPTCHA
$token = $_POST['g-recaptcha-response'] ?? '';
$secret = 'YOUR_SECRET_KEY';
if (!$token) {
exit('Captcha nie została zaliczona');
}Weryfikacja captchy w Google
$response = file_get_contents(
"https://www.google.com/recaptcha/api/siteverify?secret=$secret&response=$token"
);
$result = json_decode($response, true);
if (!empty($result['success'])) {
echo "<h3>Formularz wysłany pomyślnie!</h3>";
} else {
echo "Błąd podczas weryfikacji captchy.";
}
?>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 V2 wystarczy rozpoznać system, przeanalizować jego zachowanie i upewnić się, że zabezpieczenie działa poprawnie. W artykule pokazaliśmy, jak zidentyfikować reCAPTCHA V2 oraz gdzie znaleźć instrukcje dotyczące jego podłączenia lub ponownej konfiguracji, aby móc pewnie utrzymywać ochronę i kontrolować jej działanie.