Prosopo Procaptcha
y CapMonster Cloud

Solución de captcha, instalación en el sitio web y pruebas.

Precios de la solución Prosopo Procaptcha

CAPTCHA
Precio (USD)
$ 1.30
1000 tokens
¿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 Prosopo Procaptcha, 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 Prosopo Procaptcha 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 Procaptcha
Qué es Procaptcha
Procaptcha es un sistema de protección de Prosopo diseñado para prevenir spam y acciones automatizadas que puedan dañar un sitio web. Ayuda a distinguir usuarios reales de bots, garantizando la seguridad y estabilidad del sitio. Si el sistema duda de la autenticidad de un visitante, ofrece una tarea de verificación (por ejemplo, seleccionar imágenes específicas). Los usuarios reales pueden seguir utilizando el sitio de manera cómoda y sin interrupciones.
Background
Ejemplos de Prosopo Procaptcha
Frictionless CAPTCHA
Frictionless CAPTCHA
Captcha invisible. Determina automáticamente si el visitante es un usuario real o un bot. Si el usuario se comporta de manera natural (navegador normal, sin automatización), el captcha se resuelve de forma imperceptible. Si se detectan signos de bot, se muestra al usuario una tarea adicional de imagen.
Proof of Work (PoW) CAPTCHA
Proof of Work (PoW) CAPTCHA
Captcha basado en cálculo, es decir, hace que tu dispositivo resuelva una pequeña tarea computacional en segundo plano. El objetivo principal es detener bots masivos y spam, ya que los sistemas automatizados deben gastar tiempo y recursos en completar la tarea. Para los humanos, generalmente es casi imperceptible.
Image CAPTCHA
Image CAPTCHA
Captcha visual clásico. Muestra imágenes y pide seleccionar las que cumplen la condición (por ejemplo, 'selecciona todos los caballos').

Cómo resolver Procaptcha a través de CapMonster Cloud

Al probar formularios que incluyen Prosopo Procaptcha, 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 Procaptcha usando bibliotecas listas para usar
CapMonster Cloud proporciona bibliotecas listas para trabajar de forma conveniente en Python, JavaScript (Node.js) y C#.
Python
JavaScript
C#
Resolver captcha, insertar token y enviar formulario
Ejemplo en Node.js para el ciclo completo de reconocimiento de captcha en tu página web. Enfoques posibles: usar solicitudes HTTP para obtener el HTML y los parámetros del captcha, enviar la respuesta y procesar el resultado; o usar herramientas de automatización (por ejemplo, Playwright) — abrir la página, esperar el captcha, enviar los parámetros (para pruebas puedes enviar datos correctos o incorrectos), obtener el resultado mediante el cliente de CapMonster Cloud, insertar el token en el formulario y ver el resultado.

async function sendTokenToSite(token) {
    // URL del formulario o endpoint donde se enviará el token
    const formURL = "https://example..com/en/your-form-endpoint";

    // Ejemplo de datos del formulario
    const formData = {
        email: "example@example.com",
        password: "yourpassword",
        "procaptcha-response": token // Token de Procaptcha
    };

    try {
        const response = await fetch(formURL, {
            method: "POST",
            headers: {
                "Content-Type": "application/json", // или 'application/x-www-form-urlencoded' dependiendo del sitio
            },
            body: JSON.stringify(formData),
        });

        const result = await response.text(); // o response.json() si el servidor devuelve JSON
        console.log("Server response:", result);
    } catch (err) {
        console.error("Error sending token:", err);
    }
}

// Función principal
async function solveAndSend() {
    const client = CapMonsterCloudClientFactory.Create(
        new ClientOptions({ clientKey: API_KEY })
    );

    const prosopoRequest = new ProsopoRequest({
        websiteURL: "https://example.com/en/",
        websiteKey: "5EZU3LG31uzq1Mwi8inwqxmfvFDpj7VzwDnZwj4Q3syyxBwV"
    });

    const balance = await client.getBalance();
    console.log("Balance:", balance);

    const result = await client.Solve(prosopoRequest);
    console.log("Captcha solution:", result);

    // Enviar token al sitio
    await sendTokenToSite(result.solution); // result.solution contiene el token de Procaptcha
}

solveAndSend().catch(console.error);

Cómo conectar Procaptcha a tu sitio web
Para comprender con confianza el funcionamiento del captcha en tu sitio, la lógica de verificación y reconectar o reconfigurar, recomendamos leer esta sección. Describe el proceso de integración de la protección y ayuda a entender todos los detalles.

1. Obtén las claves (sitekey y secret key)

  • 1) Ve a Portal de Prosopo.
  • 2) Ve a Site Management
  • 3) Haz clic en Reveal — aparecerán dos claves:
    • sitekey — pública, usada en el cliente.
    • secret key — privada, usar solo en el servidor.
Importante: Cada widget tiene su propio par de claves. No se pueden reutilizar en otro proyecto.

2. Agrega tu dominio

  • 1) Ve a Account → Domains.
  • 2) Asegúrate de que tu dominio esté listado.
  • 3) Si pruebas localmente — agrega localhost.
  • 4) Elimina localhost antes de producción.

3. Conecta el script de Procaptcha

Coloca la etiqueta en <head>

<script type="module" src="https://js.prosopo.io/js/procaptcha.bundle.js" async defer></script>>

4. Opción 1: Renderizado implícito (automático) — MÁS FÁCIL

Agrega un contenedor donde el captcha aparecerá automáticamente:

<div class="procaptcha" data-sitekey="your_site_key"></div>

Generalmente dentro del formulario.

Ejemplo de formulario completoEjemplo de formulario completo
arrow

Después de la verificación exitosa del captcha, se agregará un parámetro oculto:

5. Opción 2: Renderizado explícito (manual) — MÁS CONTROL

Ejemplo HTMLEjemplo HTML
arrow
Ejemplo JavaScriptEjemplo JavaScript
arrow

6. Configuración del tipo de captcha (opcional)

Se puede seleccionar explícitamente:

  • frictionless (por defecto)
  • pow
  • image

Por ejemplo:


<div class="procaptcha"
     data-sitekey="your_site_key"
     data-captcha-type="pow">
</div>

7. Obligatorio: verificación del token en el servidor

Después del renderizado del captcha, el servidor debe verificar la respuesta. La verificación se realiza mediante API:

POST
https://api.prosopo.io/siteverify

Contenido de la solicitud:

{
    "secret": "your_secret_key",
    "token": "PROCAPTCHA-RESPONSE"
}

8. Verificación del servidor en PHP

Ejemplo de código:Ejemplo de código:
arrow

¿Qué se considera verificación exitosa?

Si el servidor de Procaptcha devuelve:

{
    "verified": true
}

Captcha aprobado, se puede realizar la acción protegida (por ejemplo, registrar un usuario).

Background
Posibles errores y depuración
Bug Icon
Clave del sitio inválida
Se utiliza una clave de sitio incorrecta o no válida. Solución: asegúrate de usar la clave correcta que puedes encontrar en el panel de Procaptcha.
Bug Icon
URL de origen no autorizada
El dominio donde está instalado el widget no coincide con el dominio vinculado a la clave del sitio. Solución: revisa y actualiza la lista de dominios en el portal de Procaptcha.
Bug Icon
Sesión no encontrada
Sesión no encontrada o expirada. Solución: espera a que el widget se recargue (~3 segundos) o actualiza la página. Si el error persiste, limpia la caché y las cookies del navegador o contacta al soporte.
Bug Icon
Respuesta success=false
El token ha expirado, se ha reutilizado o no pasó la validación. Para diagnóstico, activa el registro de solicitudes y revisa el campo error en la respuesta de Procaptcha.
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
Guarde la <span class="font-bold">Secret Key</span> solo en el servidor. Nunca la exponga al cliente.
Registre los códigos de error <span class="font-bold">(error-codes)</span> para entender por qué fallaron verificaciones específicas.
Agregue enlaces al final de los formularios a la <span class="font-bold">Política de Privacidad</span> y los <span class="font-bold">Términos de Uso de Procaptcha</span>, si su implementación lo requiere.
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 Prosopo Procaptcha, 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 Prosopo Procaptcha 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
Enlaces útiles
DocIconDocumentación de ProcaptchaDocIconPortal de ProsopoDocIconDocumentación de CapMonster Cloud (trabajo con Procaptcha)

Preguntas frecuentes sobre Prosopo Procaptcha

Procaptcha utiliza tres tipos de verificación y elige el más adecuado según el nivel de riesgo de la sesión del visitante:

  • Frictionless CAPTCHA: Se ejecuta en segundo plano y verifica al visitante de forma invisible si las señales del navegador y el comportamiento parecen humanos. Las sesiones sospechosas pueden escalarse a un desafío visible.
  • Proof of Work (PoW) CAPTCHA: Asigna al dispositivo del visitante una pequeña tarea computacional, lo que hace más costosas las solicitudes automatizadas a gran escala mientras permanece casi imperceptible para usuarios reales.
  • Image CAPTCHA: Muestra un desafío visual, como seleccionar todas las imágenes que coincidan con una indicación como «Seleccione todos los caballos».

Puede especificar el modo de verificación mediante el atributo data-captcha-type en el div del widget. Establézcalo en frictionless para comprobaciones invisibles en segundo plano, pow para el puzzle Proof of Work, o image para el desafío clásico de selección de imágenes.

Por ejemplo:

<div class="procaptcha"
     data-sitekey="your_site_key"
     data-captcha-type="pow">
</div>

El valor de su data-captcha-type del lado del cliente debe coincidir estrictamente con el tipo de CAPTCHA configurado en los ajustes de su cuenta de Prosopo Portal.

Sí, puede integrar la solución en cualquier script de Python mediante solicitudes HTTP universales.

Solicitar un ID de tarea: Envíe una solicitud POST al endpoint createTask con su clave API, websiteURL y websiteKey.

{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "ProsopoTask",
    "websiteURL": "https://example.com",
    "websiteKey": "SITE_KEY"
  }
}

Consultar el resultado: Envíe el taskId recibido al endpoint getTaskResult hasta que el estado sea ready.

{
  "clientKey": "YOUR_API_KEY",
  "taskId": 123456789
}

Usar el token: Extraiga la cadena del objeto solution y pásela como valor de procaptcha-response en su carga HTTP (requests, aiohttp) o insértela en el DOM (Playwright, Puppeteer, Selenium).

Procaptcha admite un atributo data-callback en el div del widget para renderizado implícito, o una propiedad callback en el objeto de configuración para renderizado explícito.

La función que especifique se llama automáticamente una vez resuelta la captcha, recibiendo la cadena del token como primer argumento — en ese momento puede habilitar el botón de envío, activar una solicitud AJAX o almacenar el token en el estado del componente.

Usar un callback suele ser más limpio que consultar el campo procaptcha-response, ya que elimina las condiciones de carrera entre la resolución del widget y el envío del formulario.

Playwright, Puppeteer o Selenium son enfoques compatibles para automatizar la inyección de tokens Procaptcha resueltos. El flujo general es idéntico:

  1. Navegar a la página objetivo
  2. Esperar a que se cargue el widget Procaptcha
  3. Solicitar un token a CapMonster Cloud a través de su API (o SDK cliente)
  4. Inyectar el token devuelto en la página usando los métodos nativos de manipulación del DOM del framework antes de activar el envío del formulario.