logo
bars

Yidun (NECaptcha)
y CapMonster Cloud

Resolución de captcha, instalación en el 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 Yidun (NECaptcha), 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 Yidun (NECaptcha) 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 Yidun CAPTCHA
Qué es Yidun CAPTCHA
Yidun es un sistema moderno antibots desarrollado por NetEase. Se basa en el análisis del comportamiento del usuario y no requiere que el visitante realice ninguna tarea. El sistema rastrea los movimientos del ratón, gestos, velocidad de acciones, contexto de la red y otras “métricas de comportamiento”, y mediante aprendizaje automático (ML) determina si se trata de una persona o un bot.
Background
Ejemplos de Yidun (NECaptcha)
Smart Captcha
Smart Captcha
Es un sistema inteligente de protección contra bots que reconoce automáticamente a los usuarios legítimos y los deja pasar sin acciones adicionales. Los visitantes sospechosos deben pasar una verificación adicional.
Slide Captcha
Slide Captcha
Un tipo popular de captcha visual donde el usuario debe arrastrar un control deslizante para completar un pequeño rompecabezas.
Icon Click Captcha
Icon Click Captcha
Requiere que el usuario haga clic en ciertos iconos o elementos de imagen en un orden específico.

Cómo resolver Yidun usando CapMonster Cloud

Al probar formularios protegidos con Yidun, a menudo es necesario comprobar que el captcha funciona correctamente y que está integrado como corresponde.
Puedes probar manualmente el captcha integrado en tu sitio:
  • Abre la página con el formulario y asegúrate de que el captcha se muestre.
  • Intenta enviar el formulario sin resolver el captcha — el servidor debe devolver un error.
  • Después de resolver el captcha correctamente, el formulario debe enviarse sin errores.
Para la resolución automática de captcha puedes usar servicios especializados como CapMonster Cloud, una herramienta que recibe los parámetros del captcha, los procesa en sus servidores y devuelve un token listo para usar. Este token puede insertarse en el formulario para superar la verificación sin intervenció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
Resolución de Yidun CAPTCHA usando bibliotecas listas
CapMonster Cloud ofrece bibliotecas listas para 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 todo el proceso de resolución de captcha en tu sitio web. Posibles enfoques: usar solicitudes HTTP para obtener el HTML y los parámetros de protección, enviar la respuesta y procesar el resultado. O usar herramientas de automatización (por ejemplo, Playwright): abrir la página, esperar la verificación, enviar los parámetros a CapMonster Cloud, obtener el resultado, insertar el token en el formulario y observar el resultado.

// npm install playwright @zennolab_com/capmonstercloud-client
// npx playwright install chromium
import { chromium } from "playwright";
import { CapMonsterCloudClientFactory, ClientOptions, YidunRequest } from "@zennolab_com/capmonstercloud-client";

(async () => {
  //  Configuración
  const TARGET_URL = "https://example.com/";
  const WEBSITE_KEY = "6cw0f0485d5d46auacf9b735d20218a5";   // tu siteKey de Yidun
  const CMC_API_KEY = "YOUR_API_KEY"; // tu clave API de CapMonster Cloud

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

  const cmc = CapMonsterCloudClientFactory.Create(
    new ClientOptions({ clientKey: CMC_API_KEY })
  );

  // 2) Enviando la solicitud para resolver el captcha Yidun
  const solution = await cmc.Solve(
    new YidunRequest({
      websiteURL: TARGET_URL,
      websiteKey: WEBSITE_KEY,
      userAgent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"
    })
  );

  const token = solution.solution.token; // Recibiendo el token Yidun
  console.log("Yidun token:", token);

  // 3) Insertando el token en un campo oculto y enviando el formulario
  await page.evaluate((t) => {
    // Buscando el campo oculto para el token (reemplázalo por el tuyo)
    const input = document.querySelector('input[name="NECaptchaValidate"]');
    if (input) input.value = t;

    // Enviando el formulario, si existe en la página
    const form = document.querySelector("form");
    if (form) form.submit();
  }, token);

  console.log("¡Captcha Yidun resuelto, token insertado y formulario enviado!");
})();

  
Cómo integrar Yidun (NECaptcha) en tu sitio web
Para entender cómo funciona el captcha en tu sitio, cómo se valida y cómo configurarlo o volver a configurarlo, recomendamos leer esta sección. Aquí se describe todo el proceso de integración para ayudarte a dominar todos los detalles.

1. Ve al panel y crea una cuenta (con teléfono o correo electrónico).

2. En el panel selecciona: 产品与服务 → 验证码服务 (Captcha Service).

3. Crea un nuevo proyecto (应用).

4. Como resultado recibirás:

  • captchaId
  • secretKey

5. Ejemplo de integración frontend de Yidun


<!-- Conectando el script de Yidun -->
<script src="https://cstaticdun.126.net/load.min.js"></script>

<!-- Contenedor para el captcha -->
<div id="captcha"></div>

<script>
// Inicialización del captcha
initNECaptcha({
    captchaId: "YOUR_CAPTCHA_ID", // tu captchaId del panel de Yidun
    element: "#captcha",          // dónde insertar el widget de captcha

    // Se ejecuta después de completarlo con éxito
    onVerify: (err, data) => {
        if (!err) {
            // data.validate -- token del captcha
            // Guardarlo en un campo oculto
            document.querySelector("#validate").value = data.validate;
        }
    }
});
</script>

<!-- Formulario que envía el validate a tu servidor -->
<form method="POST" action="/verify">
    <!-- Aquí se escribirá el token -->
    <input type="hidden" id="validate" name="NECaptchaValidate">

    <button>Submit</button>
</form>


6. Validación de Yidun en el servidor (ejemplo en PHP)


<?php

// Datos del panel de Yidun
$CAPTCHA_ID = "YOUR_CAPTCHA_ID";
$SECRET_ID  = "YOUR_SECRET_ID";

// Recibir el token desde el frontend
$validate = $_POST["NECaptchaValidate"] ?? null;

// Si no hay token — error
if (!$validate) {
    echo "Captcha not passed";
    exit;
}

// Preparando la solicitud POST
$url = "https://c.dun.163yun.com/api/v2/verify";

$postData = http_build_query([
    "captchaId" => $CAPTCHA_ID,
    "secretId"  => $SECRET_ID,
    "validate"  => $validate
]);

// Enviando la solicitud a Yidun
$opts = [
    "http" => [
        "method"  => "POST",
        "header"  => "Content-Type: application/x-www-form-urlencoded",
        "content" => $postData
    ]
];

$context  = stream_context_create($opts);
$result   = file_get_contents($url, false, $context);

// Decodificando el JSON
$data = json_decode($result, true);

// Verificando el resultado
if ($data["result"] === true) {
    echo "Captcha passed successfully";
} else {
    echo "Verification error: " . json_encode($data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
}
Background
Posibles errores y depuración
Bug Icon
Parámetros incorrectos
El captcha no se muestra o devuelve errores si captchaId o businessId son incorrectos, si el script load.min.js no está conectado o si el acceso a los recursos de Yidun está bloqueado. Comprueba captchaId, businessId, la conexión a https://cstaticdun.126.net/load.min.js y asegúrate de que no haya bloqueos por firewall o CSP.
Bug Icon
Tiempo de espera agotado o errores de inicialización
El SDK devuelve 1004 o -1 si la inicialización falla. Aumenta el tiempo de espera, revisa la conexión de red y activa el registro (logging) del SDK.
Bug Icon
Token validate vacío o incorrecto
Validate = null o result: false en el servidor. Asegúrate de haber completado el captcha, que el token no haya expirado, que no se reutilice y que captchaId/secretId coincidan entre el frontend y el servidor.
Bug Icon
Error de firma (signature)
El servidor devuelve errores de firma si los parámetros no están ordenados correctamente o si la clave es incorrecta. Ordena los parámetros alfabéticamente, usa la clave secreta correcta y el algoritmo HMAC-SHA.
Bug Icon
Errores de red durante la verificación
Timeout, DNS, SSL o formato de solicitud incorrecto. Envía las solicitudes a https://c.dun.163yun.com/api/v2/verify, usa Content-Type: application/x-www-form-urlencoded y registra las respuestas.
Pruebas de resistencia de la protección
Consejos de seguridad y optimización
Valida el token únicamente en el servidor.
Guarda la clave secreta de forma segura (variables de entorno o gestor de secretos).
Comprueba campos adicionales (por ejemplo, userIP, scene) para confirmar la legitimidad de la solicitud.
Usa HTTPS para todas las solicitudes API.
Implementa manejo de errores y muestra mensajes claros al usuario.
Restringe el uso de captchaId por dominios.
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 Yidun (NECaptcha), 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 Yidun (NECaptcha) 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
DocIconRegistro en el sistema NetEase YidunDocIconDocumentación de YidunDocIconDocumentación de CapMonster Cloud (Yidun)