En este artículo hemos intentado responder a todas las preguntas clave. Para empezar a resolver la tarea, primero hay que determinar qué sistema de protección se está utilizando. Para ello, puedes consultar la lista de captchas y sistemas de protección antibot más populares, donde se muestran ejemplos visuales y señales clave que te ayudarán a identificar rápidamente con qué estás tratando.
Si descubres que tu sitio web utiliza reCAPTCHA V2, el siguiente paso será analizar con más detalle sus propiedades y su funcionamiento. En este mismo artículo también puedes consultar la guía de integración de reCAPTCHA V2 para comprender por completo cómo funciona en tu sitio. Esto te permitirá no solo entender la protección actual, sino también planificar correctamente su mantenimiento.
Al probar formularios que incluyen reCAPTCHA V2, normalmente debes verificar que la captcha funcione y esté integrada correctamente.
Puedes comprobar manualmente la captcha incrustada en tu sitio.
Para la resolución automática puedes usar herramientas como CapMonster Cloud, que reciben los parámetros de la captcha, los procesan en sus servidores y devuelven un token listo para usar. Inserta ese token en el formulario para pasar la verificación sin interacción del usuario.
Trabajar con CapMonster Cloud mediante la API suele implicar los siguientes pasos:
Tu solicitud para resolver reCAPTCHA v2 debe incluir los siguientes parámetros:
type - RecaptchaV2Task;
websiteURL - la dirección de la página donde aparece la captcha;
websiteKey - el sitekey indicado en tu página con la captcha.
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' });
// Resolución de la captcha
const solution = await cmc.Solve(new RecaptchaV2Request({ websiteURL: TARGET_URL, websiteKey: WEBSITE_KEY }));
const token = solution.solution.gRecaptchaResponse;
// Inserta el token y envía el formulario (sustituye por el selector que necesites)
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 resuelta y formulario enviado!');
})();1. Ve a la página de la consola de administración de reCAPTCHA.
2. Registra un nuevo sitio.
Elige el tipo de captcha — reCAPTCHA v2 (casilla con desafíos o la variante invisible).

3. Obtén dos claves:

Abre la configuración para especificar los dominios que pueden usar reCAPTCHA o seleccionar el nivel de seguridad, del más simple al más confiable.
4. Ejemplo de código del lado del cliente. Formulario HTML con reCAPTCHA v2 (puedes pegar este fragmento en el cuerpo de la página):
Para el widget con casilla:
<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 carga la biblioteca de Google reCAPTCHA y crea un formulario que envía datos mediante POST. <div class="g-recaptcha" data-sitekey="your_site_key"></div> muestra el widget reCAPTCHA v2 con tu clave pública. Al hacer clic en “Submit”, el formulario se envía junto con el token g-recaptcha-response para validarlo en el backend.
Para la reCAPTCHA v2 invisible:
<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>El botón <button class="g-recaptcha" data-sitekey="your_site_key" data-callback="onSubmit">Submit</button> ejecuta automáticamente la captcha invisible, genera un token y llama a onSubmit.
La función onSubmit(token) recibe el token g-recaptcha-response y envía el formulario a tu servidor para su verificación.
A diferencia del widget con casilla, el usuario no ve la captcha; la comprobación se realiza en segundo plano.
5. Valida la respuesta en el lado del servidor.
Comprobar el método y leer los datos
?php
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
http_response_code(405);
exit('Método no permitido');
}
// Obtención del token de reCAPTCHA
$token = $_POST['g-recaptcha-response'] ?? '';
$secret = 'YOUR_SECRET_KEY';
if (!$token) {
exit('Captcha no aprobada');
}Verificar la captcha a través de 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>¡Formulario enviado correctamente!</h3>";
} else {
echo "Error de verificación de la captcha.";
}
?>Si has heredado un sitio web que ya tiene un captcha u otro sistema de protección instalado y no tienes acceso al código, no pasa nada. Identificar qué tecnología se está utilizando es bastante sencillo. Para comprobar que todo funciona correctamente, puedes usar el servicio de reconocimiento CapMonster Cloud en un entorno de pruebas aislado, para asegurarte de que el mecanismo de procesamiento de tokens y la lógica de verificación funcionan correctamente.
En el caso de reCAPTCHA V2, basta con detectar el sistema, analizar su comportamiento y confirmar que la protección funciona correctamente. En el artículo hemos mostrado cómo identificar reCAPTCHA V2 y dónde encontrar las instrucciones para su integración o reconfiguración, de modo que puedas mantener la protección con confianza y controlar su funcionamiento.