logo
bars

reCAPTCHA v3
y CapMonster Cloud

Resolución de captcha, integración en tu sitio web y pruebas.
¿Heredaste un sitio con una captcha u otra capa de protección pero sin acceso al código fuente? Entonces es normal preguntarse: ¿qué solución está instalada, está configurada correctamente y cómo se puede probar?

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 v3, 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 v3 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.

Qué es Google reCAPTCHA v3
Qué es Google reCAPTCHA v3
reCAPTCHA v3 es una protección invisible de Google que distingue a los usuarios reales de los bots sin necesidad de marcar la casilla “No soy un robot”. En la página se ejecuta un script oculto que analiza el comportamiento del visitante y devuelve una puntuación de confianza (score) de 0,0 a 1,0. El desarrollador define un umbral por debajo del cual se puede exigir una verificación adicional o incluso un bloqueo, proporcionando seguridad sin acciones extra por parte del usuario.

Cómo resolver reCAPTCHA v3 a través de CapMonster Cloud

Al probar formularios que incluyen reCAPTCHA v3, normalmente debes verificar que la captcha funcione y esté integrada correctamente.

Puedes comprobar manualmente la captcha incrustada en tu sitio.

  • Abre la página del formulario y verifica que la captcha se renderice.
  • Intenta enviar el formulario sin resolverla: el servidor debe devolver un error.
  • Tras una solución correcta, el formulario debe enviarse sin inconvenientes.

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:

Creación de la tareaCreación de la tarea
arrow
Enviar una solicitud APIEnviar una solicitud API
arrow
Recepción del resultadoRecepción del resultado
arrow
Colocar el token en la páginaColocar el token en la página
arrow
Reconocimiento de reCAPTCHA v3 con bibliotecas listas para usar
El servicio CapMonster Cloud proporciona bibliotecas listas para trabajar cómodamente con Python, JavaScript (Node.js) y C#.
Python
JavaScript
C#
Resolución, inserción del token y envío del formulario
Ejemplo en Node.js para el ciclo completo de reconocimiento del captcha en tu página web. Posibles enfoques: usar solicitudes HTTP para obtener el HTML y los parámetros del captcha, enviar la respuesta y procesar el resultado; o, utilizando herramientas de automatización (por ejemplo, Playwright), abrir la página, esperar a que el captcha se cargue, enviar los parámetros (para pruebas puedes enviar datos correctos o incorrectos), obtener el resultado a través del cliente de CapMonster Cloud, insertar el token en el formulario y ver el resultado.
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 de tu página con el captcha
  const SITE_KEY = '6Le0xVgUAAAAAIt20XEB4rVhYOODgTl00d8juDob';
  const API_KEY = 'your_capmonster_cloud_api_key'; // Indica tu clave de API de CapMonster Cloud

  // Creación del cliente de CapMonster
  const cmcClient = CapMonsterCloudClientFactory.Create(new ClientOptions({ clientKey: API_KEY }));

  // Abrir el navegador
  const browser = await chromium.launch({ headless: false });
  const page = await browser.newPage();
  await page.goto(TARGET_URL, { waitUntil: 'domcontentloaded' });

  // Configuración de la tarea de reCAPTCHA v3
  const recaptchaRequest = new RecaptchaV3ProxylessRequest({
    websiteURL: TARGET_URL,
    websiteKey: SITE_KEY,
    minScore: 0.6,
    pageAction: 'myverify', // coincidencia con la action en la página
  });

  // Resolver el captcha
  const solution = await cmcClient.Solve(recaptchaRequest);
  const token = solution.solution?.gRecaptchaResponse;

  if (!token) {
    console.error('El token está vacío, verifique sitekey y URL');
    await browser.close();
    return;
  }

  console.log('Token obtenido:', token);

  // Insertar el token en un campo oculto y simular el clic en el botón 
  // Sustituye por los selectores necesarios
  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('El token se ha insertado y el formulario se ha enviado');

  await page.waitForTimeout(5000);
  await browser.close();
})();
Cómo conectar reCAPTCHA v3 a tu sitio web
Para comprender bien cómo funciona el captcha en tu sitio, cuál es la lógica de validación y cómo volver a conectarlo o reconfigurarlo, te recomendamos estudiar esta sección. Aquí se describe el proceso de activación de la protección, lo que te ayudará a entender rápidamente todos los detalles.

1. Ve a la página del panel de administración de reCAPTCHA.

2. Registra un nuevo sitio y elige como tipo de captcha — reCAPTCHA v3

HowTo Connect image 1

3. Obtén las dos claves:

  • Site key — clave pública (se usa en el frontend);
  • Secret key — clave privada (se usa en el servidor para la verificación)

HowTo Connect image 2

Puedes abrir la configuración donde, por ejemplo, puedes indicar dominios adicionales en los que usar reCAPTCHA o configurar avisos sobre problemas en el sitio o incrementos de tráfico sospechoso.

4. Ejemplos de código para la parte cliente

La forma más sencilla de usar reCAPTCHA v3 es incluir la API de JavaScript y añadir atributos al botón.

Inclusión de la API:

<script src="https://www.google.com/recaptcha/api.js"></script>

Función de callback para el formulario:

<script>
  function onSubmit(token) {
    document.getElementById("form").submit();
  }
</script>

Botón con atributos de reCAPTCHA:

<button class="g-recaptcha" 
        data-sitekey="reCAPTCHA_sitekey" 
        data-callback='onSubmit' 
        data-action='submit'>Submit</button>

Para un control completo, utiliza grecaptcha.execute con el parámetro render:

Inclusión de la API con la clave:

<script src="https://www.google.com/recaptcha/api.js?render=reCAPTCHA_site_key"></script>

Llamada mediante código:

<script>
  function onClick(e) {
    e.preventDefault();
    grecaptcha.ready(function() {
      grecaptcha.execute('reCAPTCHA_sitekey', {action: 'submit'}).then(function(token) {
          // Envía el token al servidor para su verificación
      });
    });
  }
</script>

El token debe enviarse inmediatamente al servidor para su verificación.

Notas importantes:

  • Validez del token: el token recibido de reCAPTCHA v3 es válido durante 2 minutos. Asegúrate de enviarlo al servidor dentro de ese tiempo.
  • Verificación en el servidor: después de recibir el token en el servidor, envía una petición POST a https://www.google.com/recaptcha/api/siteverify con los parámetros:
    – secret: tu clave secreta
    – response: el token recibido del cliente
    – remoteip (opcional): la dirección IP del usuario
  • El servidor de Google responderá con un JSON que contiene información sobre el resultado de la verificación.

5. Ahora realiza la verificación de la respuesta en el servidor

Ejemplo en PHPEjemplo en PHP
arrow

Notas:

  • Asegúrate de que en el cliente el token se envía en un campo oculto del formulario llamado recaptcha-token:
    • <input type="hidden" name="recaptcha-token" id="recaptcha-token">

      • El umbral de score puede ajustarse según el nivel de estrictitud deseado (por ejemplo, 0.3–0.7).
      • Comprobar que action === 'submit' aumenta la seguridad y garantiza que el token se ha emitido para la acción concreta en la página.
Background
Posibles errores y depuración
Bug Icon
Sitio o clave incorrectos
El captcha no se carga o devuelve invalid-input-secret.
Bug Icon
Tiempo de resolución agotado
El servidor no recibió la respuesta a tiempo, aumenta el tiempo de espera.
Bug Icon
Token vacío
Error al enviar el resultado a la página.
Bug Icon
Respuesta success=false
El token ha expirado, se ha reutilizado o ha sido manipulado. Para diagnosticarlo, activa el registro (logging) de las solicitudes y revisa el campo error-codes en la respuesta de Google.
Bug Icon
Score bajo (por ejemplo, <0.5)
Puede provocar un rechazo incluso con success=true, ya que Google evalúa la confianza en el usuario basándose en el score.
Bug Icon
Revisa el campo action
Para asegurarte de que el token está destinado a una acción concreta en la página
Pruebas de resistencia de la protección
Después de la integración, asegúrate de que el sistema realmente proteja el sitio contra acciones automatizadas.
Consejos de seguridad y optimización
Almacena la <b>Secret Key</b> solo en el servidor, no la envíes al lado del cliente.
Registre los códigos de error (<b>error-codes</b>) y el valor de <b>score</b> para entender los motivos de los rechazos.
<b>Comprueba el campo action</b> en la respuesta de Google para asegurarte de que el token está destinado a la acción correcta en la página.
Añade al final del formulario enlaces a la <b>Política de privacidad</b> y a los <b>Términos de uso de Google</b>, tal como exige la licencia.
Conclusión

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 v3, 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 v3 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.

Conclusion