logo
bars

Yidun (NECaptcha)
e CapMonster Cloud

Solução de captcha, instalação no site e teste.
Herdou um site com captcha ou outra proteção mas sem acesso ao código-fonte? É natural perguntar qual solução está instalada, se está configurada corretamente e como testá-la.

Neste artigo procurámos responder a todas as questões importantes. Para começar a resolver o problema, o primeiro passo é identificar que sistema de proteção está a ser utilizado. Para isso, pode consultar a lista de captchas e sistemas de proteção antibot mais populares, onde encontrará exemplos visuais e sinais principais que ajudam a perceber rapidamente com o que está a lidar.

Se verificar que o seu site utiliza Yidun (NECaptcha), o passo seguinte é analisar mais detalhadamente as suas características e o seu funcionamento. Neste mesmo artigo também pode consultar o guia de integração de Yidun (NECaptcha), para compreender totalmente como o sistema funciona no seu site. Isto permitirá não só entender a proteção atual, como também planear corretamente a sua manutenção.

O que é Yidun CAPTCHA
O que é Yidun CAPTCHA
Yidun é um sistema anti-bot moderno desenvolvido pela NetEase. Baseia-se na análise do comportamento do usuário e não exige que o visitante realize tarefas. O sistema monitora movimentos do mouse, gestos, velocidade de ações, contexto de rede e outras “métricas comportamentais”, determinando via aprendizado de máquina (ML) se é humano ou bot.
Background
Exemplos de Yidun (NECaptcha)
Smart Captcha
Smart Captcha
Sistema inteligente anti-bot que reconhece automaticamente usuários confiáveis.
Slide Captcha
Slide Captcha
Tipo popular de captcha visual, onde é necessário arrastar um slider para completar um pequeno quebra-cabeça.
Icon Click Captcha
Icon Click Captcha
Exige que o usuário clique em ícones ou elementos de imagem em uma sequência específica.

Como resolver Yidun via CapMonster Cloud

Ao testar formulários com Yidun, frequentemente é necessário verificar se o captcha funciona corretamente e está corretamente integrado.
Você pode testar manualmente o captcha no seu site:
  • Abra a página do formulário e verifique se o captcha está visível.
  • Tente enviar o formulário sem passar pelo captcha — o servidor deve retornar um erro.
  • Após resolver o captcha com sucesso — o formulário deve ser enviado sem erros.
Para reconhecimento automático de captcha, você pode usar serviços especializados, como o CapMonster Cloud — uma ferramenta que recebe os parâmetros do captcha, processa em seus servidores e retorna um token pronto. Esse token pode ser inserido no formulário para passar pela verificação sem intervenção do usuário.

Trabalhar com o CapMonster Cloud através da API normalmente envolve os passos seguintes:

Criação da tarefaCriação da tarefa
arrow
Envio do pedido APIEnvio do pedido API
arrow
Receção do resultadoReceção do resultado
arrow
Aplicação do token na páginaAplicação do token na página
arrow
Reconhecimento de Yidun CAPTCHA usando bibliotecas prontas
O CapMonster Cloud fornece bibliotecas prontas para os idiomas Python, JavaScript (Node.js) e C#.
Python
JavaScript
C#
Solução, inserção do token e envio do formulário
Exemplo em Node.js para todo o ciclo de reconhecimento do captcha na sua página web. Abordagens possíveis: usar requisições HTTP para obter HTML e parâmetros do sistema de proteção, enviar a resposta e processar o resultado. Ou usar ferramentas de automação (como Playwright) — abrir a página, aguardar a verificação, enviar parâmetros via CapMonster Cloud, obter o resultado, inserir o token no formulário (para teste você pode usar dados corretos ou incorretos) e ver o 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 () => {
  //  Configurações
  const TARGET_URL = "https://example.com/";
  const WEBSITE_KEY = "6cw0f0485d5d46auacf9b735d20218a5";   // seu siteKey do Yidun
  const CMC_API_KEY = "YOUR_API_KEY"; // sua chave API do CapMonster Cloud

  // 1) Iniciando o 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 requisição para resolver 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; // Obtendo token Yidun
  console.log("Yidun token:", token);

  // 3) Inserindo token em campo oculto e enviando formulário
  await page.evaluate((t) => {
    // Localize o input hidden para o token (substitua pelo seu valor)
    const input = document.querySelector('input[name="NECaptchaValidate"]');
    if (input) input.value = t;

    // Enviar o formulário, se houver na página
    const form = document.querySelector("form");
    if (form) form.submit();
  }, token);

  console.log("Captcha Yidun resolvido, token inserido e formulário enviado!");
})();

  
Como conectar Yidun (NECaptcha) ao seu site
Para entender o funcionamento do captcha no seu site, a lógica da verificação ou reconectar/configurar novamente, recomendamos este capítulo. Ele descreve o processo de integração da proteção passo a passo.

1. Acesse painel e crie uma conta (telefone ou email).

2. No painel, selecione: 产品与服务 → 验证码服务 (Captcha Service).

3. Crie um novo projeto (应用).

4. Como resultado, você obterá:

  • captchaId
  • secretKey

5. Exemplo de conexão frontend Yidun


<!-- Conectar script YiDun -->
<script src="https://cstaticdun.126.net/load.min.js"></script>

<!-- Container para captcha -->
<div id="captcha"></div>

<script>
// Inicialização do captcha
initNECaptcha({
    captchaId: "YOUR_CAPTCHA_ID", // seu captchaId do painel YiDun
    element: "#captcha",          // onde inserir o widget captcha

    // Chamado após sucesso
    onVerify: (err, data) => {
        if (!err) {
            // data.validate -- token do captcha
            // Salvar em campo oculto do formulário
            document.querySelector("#validate").value = data.validate;
        }
    }
});
</script>

<!-- Formulário que envia validate para seu servidor -->
<form method="POST" action="/verify">
    <!-- Aqui o captcha registrará o token -->
    <input type="hidden" id="validate" name="NECaptchaValidate">

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


6. Validação server-side Yidun (exemplo em PHP)


<?php

// Dados do painel YiDun
$CAPTCHA_ID = "YOUR_CAPTCHA_ID";
$SECRET_ID  = "YOUR_SECRET_ID";

// Obtemos o token do frontend
$validate = $_POST["NECaptchaValidate"] ?? null;

// Se não houver token — erro
if (!$validate) {
    echo "Captcha not passed";
    exit;
}

// Preparar requisição POST
$url = "https://c.dun.163yun.com/api/v2/verify";

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

// Enviar requisição para 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);

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

// Verificar resultado
if ($data["result"] === true) {
    echo "Captcha passed successfully";
} else {
    echo "Verification error: " . json_encode($data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
}
Background
Possíveis erros e depuração
Bug Icon
Parâmetros incorretos
Captcha não aparece ou retorna erros se captchaId ou businessId estiverem incorretos, load.min.js não estiver conectado ou o acesso aos recursos Yidun estiver bloqueado. Verifique captchaId, businessId, https://cstaticdun.126.net/load.min.js e bloqueios de CSP/firewall.
Bug Icon
Timeout ou erros de inicialização
SDK retorna 1004 ou -1 se a inicialização falhar. Aumente o timeout, verifique a conexão de rede e habilite o log do SDK.
Bug Icon
Token validate vazio ou incorreto
Validate = null ou result: false no servidor. Verifique se captcha foi concluído, validate não expirou, não foi reutilizado e captchaId/secretId coincidem no frontend e servidor.
Bug Icon
Erro de assinatura (signature)
Servidor retorna erros de assinatura se os parâmetros estiverem ordenados incorretamente ou a chave estiver errada. Ordene parâmetros por key, use a chave secreta correta e HMAC-SHA, faça log das assinaturas.
Bug Icon
Erros de rede na verificação
Timeout, DNS, SSL ou formato incorreto da requisição. Faça requisição para https://c.dun.163yun.com/api/v2/verify, defina Content-Type: application/x-www-form-urlencoded e registre respostas.
Verificações de robustez
Recomendações de segurança e otimização
Verifique o validate-token apenas no servidor.
Armazene a chave secreta de forma segura.
Verifique campos adicionais (ex: userIP, scene) para confirmar legitimidade da requisição.
Use HTTPS para todas as requisições à API.
Implemente tratamento de erros e mensagens claras ao usuário.
Restrinja o uso de captchaId por domínio.
Conclusão

Se herdou um site que já tem um captcha ou outro sistema de proteção instalado e não tem acesso ao código, não há problema! É bastante fácil identificar qual a tecnologia que está a ser utilizada. Para verificar se tudo está a funcionar corretamente, pode usar o serviço de reconhecimento CapMonster Cloud num ambiente de teste isolado, para garantir que o mecanismo de processamento de tokens e a lógica de verificação estão a funcionar corretamente.

No caso de Yidun (NECaptcha), basta identificar o sistema, analisar o seu comportamento e confirmar que a proteção está a funcionar corretamente. No artigo, mostramos como identificar Yidun (NECaptcha) e onde encontrar instruções para a sua integração ou reconfiguração, para que possa manter a proteção com confiança e controlar o seu funcionamento.

Conclusion
Links úteis
DocIconRegistro no sistema NetEase YidunDocIconDocumentação YidunDocIconDocumentação CapMonster Cloud (Yidun)