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.
Trabajar con CapMonster Cloud mediante la API suele implicar los siguientes pasos:
type - YidunTask
websiteURL - la URL completa de la página donde se encuentra el captcha;
websiteKey - el valor del siteKey;
userAgent - User-Agent del navegador. Envía solo un UA actualizado de Windows.
https://api.capmonster.cloud/createTask
{
"clientKey": "API_KEY",
"task": {
"type": "YidunTask",
"websiteURL": "https://www.example.com",
"websiteKey": "6cw0f0485d5d46auacf9b735d20218a5",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36"
}
}
{
"errorId":0,
"taskId":407533072
}https://api.capmonster.cloud/getTaskResult{
"clientKey":"API_KEY",
"taskId": 407533072
}
{
"errorId": 0,
"errorCode": null,
"errorDescription": null,
"solution": {
"token": "CN31_9AwsPmaYcJameP_09rA0vkVMQsPij...RXTlFJFc3"
},
"status": "ready"
}
// 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/142.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!");
})();
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:
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);
}
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.