Neste artigo procurámos responder a todas as questões importantes. Para começar a resolver o problema, o primeiro passo é identificar que sistema de proteção está a ser utilizado. Para isso, pode consultar a lista de captchas e sistemas de proteção antibot mais populares, onde encontrará exemplos visuais e sinais principais que ajudam a perceber rapidamente com o que está a lidar.
Se verificar que o seu site utiliza reCAPTCHA V2, o passo seguinte é analisar mais detalhadamente as suas características e o seu funcionamento. Neste mesmo artigo também pode consultar o guia de integração de reCAPTCHA V2, para compreender totalmente como o sistema funciona no seu site. Isto permitirá não só entender a proteção atual, como também planear corretamente a sua manutenção.
Ao testar formulários que incluem reCAPTCHA V2, é comum precisar verificar se a captcha foi integrada e funciona corretamente.
Pode testar manualmente a captcha incorporada no seu site.
Para resolução automática recorra a ferramentas como o CapMonster Cloud, que recebe os parâmetros da captcha, processa-os nos seus servidores e devolve um token pronto. Basta inseri-lo no formulário para ultrapassar a verificação sem interação do utilizador.
Trabalhar com o CapMonster Cloud através da API normalmente envolve os passos seguintes:
O pedido para resolver o reCAPTCHA v2 deve incluir os seguintes parâmetros:
type - RecaptchaV2Task;
websiteURL - endereço da página em que a captcha aparece;
websiteKey - sitekey indicado na página.
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' });
// Resolução da captcha
const solution = await cmc.Solve(new RecaptchaV2Request({ websiteURL: TARGET_URL, websiteKey: WEBSITE_KEY }));
const token = solution.solution.gRecaptchaResponse;
// Introduza o token e envie o formulário (substitua pelo seletor pretendido)
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 resolvida e formulário enviado!');
})();1. Aceda à página da consola de administração do reCAPTCHA.
2. Registe um novo site.
Escolha o tipo de captcha — reCAPTCHA v2 (checkbox com desafios ou versão invisível).

3. Obtenha duas chaves:

Abra as definições para indicar os domínios autorizados a usar o reCAPTCHA ou o nível de segurança pretendido.
4. Exemplo de código do lado do cliente. Formulário HTML com reCAPTCHA v2 (basta colar no corpo da página):
Para o widget com caixa de seleção:
<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>Este código carrega a biblioteca do Google reCAPTCHA e cria um formulário com envio POST. <div class="g-recaptcha" data-sitekey="your_site_key"></div> apresenta o widget com a sua chave pública. Ao clicar em “Submit”, o formulário é enviado com o token g-recaptcha-response para validação no servidor.
Para o reCAPTCHA v2 invisível:
<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>O botão <button class="g-recaptcha" data-sitekey="your_site_key" data-callback="onSubmit">Submit</button> executa automaticamente a captcha invisível, gera o token e chama onSubmit.
A função onSubmit(token) recebe o token e envia o formulário ao servidor para validação.
Ao contrário do widget com checkbox, o utilizador não vê a captcha — a verificação decorre em segundo plano.
5. Valide a resposta no servidor.
Validar método e ler os dados
?php
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
http_response_code(405);
exit('Método não permitido');
}
// Obter o token reCAPTCHA
$token = $_POST['g-recaptcha-response'] ?? '';
$secret = 'YOUR_SECRET_KEY';
if (!$token) {
exit('Captcha não aprovada');
}Validar a captcha no 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>Formulário enviado com sucesso!</h3>";
} else {
echo "Erro ao validar a captcha.";
}
?>Se herdou um site que já tem um captcha ou outro sistema de proteção instalado e não tem acesso ao código, não há problema! É bastante fácil identificar qual a tecnologia que está a ser utilizada. Para verificar se tudo está a funcionar corretamente, pode usar o serviço de reconhecimento CapMonster Cloud num ambiente de teste isolado, para garantir que o mecanismo de processamento de tokens e a lógica de verificação estão a funcionar corretamente.
No caso de reCAPTCHA V2, basta identificar o sistema, analisar o seu comportamento e confirmar que a proteção está a funcionar corretamente. No artigo, mostramos como identificar reCAPTCHA V2 e onde encontrar instruções para a sua integração ou reconfiguração, para que possa manter a proteção com confiança e controlar o seu funcionamento.