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 v3, 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 v3, 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 v3, é 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:
No pedido para resolver o reCAPTCHA v3 é necessário indicar os seguintes parâmetros:
type - RecaptchaV3TaskProxyless;
websiteURL - o endereço da página em que o captcha é resolvido;
websiteKey - a chave identificadora (sitekey) indicada na página do seu site com o captcha;
minScore - pode ter um valor de 0.1 a 0.9;
pageAction - o valor do parâmetro action que é enviado pelo widget ReCaptcha no Google. Valor predefinido: 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 da sua página com o captcha
const SITE_KEY = '6Le0xVgUAAAAAIt20XEB4rVhYOODgTl00d8juDob';
const API_KEY = 'your_capmonster_cloud_api_key'; // Indique a sua chave de API do CapMonster Cloud
// Criação do cliente CapMonster
const cmcClient = CapMonsterCloudClientFactory.Create(new ClientOptions({ clientKey: API_KEY }));
// Abrir o navegador
const browser = await chromium.launch({ headless: false });
const page = await browser.newPage();
await page.goto(TARGET_URL, { waitUntil: 'domcontentloaded' });
// Configuração da tarefa do reCAPTCHA v3
const recaptchaRequest = new RecaptchaV3ProxylessRequest({
websiteURL: TARGET_URL,
websiteKey: SITE_KEY,
minScore: 0.6,
pageAction: 'myverify', // correspondência com o action na página
});
// Resolver o captcha
const solution = await cmcClient.Solve(recaptchaRequest);
const token = solution.solution?.gRecaptchaResponse;
if (!token) {
console.error('Токен пустой, проверьте sitekey и URL');
await browser.close();
return;
}
console.log('Token obtido:', token);
// Inserir o token num campo oculto e simular o clique no botão
// Substitua pelos seletores necessários
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 inserido e formulário enviado');
await page.waitForTimeout(5000);
await browser.close();
})();1. Aceda à página do painel de administração do reCAPTCHA.
2. Registe um novo site e escolha o tipo de captcha — reCAPTCHA v3

3. Obtenha duas chaves:

Pode abrir as definições, onde, por exemplo, é possível indicar domínios adicionais para utilização do reCAPTCHA ou configurar alertas sobre problemas no site ou aumento de tráfego suspeito.
4. Exemplos de código para o lado do cliente
A forma mais simples de utilizar o reCAPTCHA v3 é ligar a API JavaScript e adicionar atributos a um botão.
Ligação à API:
<script src="https://www.google.com/recaptcha/api.js"></script>Função de callback para o formulário:
<script>
function onSubmit(token) {
document.getElementById("form").submit();
}
</script>
Botão com atributos do reCAPTCHA:
<button class="g-recaptcha"
data-sitekey="reCAPTCHA_sitekey"
data-callback='onSubmit'
data-action='submit'>Submit</button>
Para controlo total, utilize grecaptcha.execute com o parâmetro render:
Ligação à API com a chave:
<script src="https://www.google.com/recaptcha/api.js?render=reCAPTCHA_site_key"></script>Chamada programática:
<script>
function onClick(e) {
e.preventDefault();
grecaptcha.ready(function() {
grecaptcha.execute('reCAPTCHA_sitekey', {action: 'submit'}).then(function(token) {
// Envie o token para o servidor para verificação
});
});
}
</script>
O token deve ser enviado de imediato para o servidor para verificação.
Notas importantes:
5. Agora, do lado do servidor, efetue a verificação da resposta
<?php
// A sua Secret Key do reCAPTCHA v3
$secret = 'YOUR_SECRET_KEY';
// Obter o token do formulário
$token = $_POST['recaptcha-token'] ?? '';
// Enviar o pedido para a Google para verificar o token
$response = file_get_contents(
"https://www.google.com/recaptcha/api/siteverify?secret={$secret}&response={$token}"
);
$result = json_decode($response, true);
// Verificar o sucesso e a pontuação de confiança
if ($result['success'] && $result['score'] >= 0.5 && $result['action'] === 'submit') {
echo "Verificação aprovada";
} else {
http_response_code(403);
echo "Verificação reprovada";
}
?>
Notas:
<input type="hidden" name="recaptcha-token" id="recaptcha-token">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 v3, basta identificar o sistema, analisar o seu comportamento e confirmar que a proteção está a funcionar corretamente. No artigo, mostramos como identificar reCAPTCHA v3 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.