logo
bars

Yidun (NECaptcha)
e CapMonster Cloud

Solução de captcha, instalação no site e teste.
Você herdou um site com captcha ou outra camada de proteção, mas não tem acesso ao código-fonte? Então é normal querer saber qual solução está instalada, se a configuração está correta e como testar tudo.

Neste artigo, procuramos responder a todas as principais dúvidas. Para começar a resolver o problema, o primeiro passo é identificar qual sistema de proteção está sendo utilizado. Para isso, você pode consultar a lista de captchas e sistemas de proteção antibot mais populares, onde há exemplos visuais e sinais principais que ajudam a identificar rapidamente com o que você está lidando.

Se você notar que o seu site utiliza Yidun (NECaptcha), o passo seguinte é estudar com mais detalhes as suas características e o seu funcionamento. Neste mesmo artigo, você também pode conferir o guia de integração do Yidun (NECaptcha), para entender por completo como o sistema opera no seu site. Isso permitirá não apenas compreender a proteção atual, mas também planejar adequadamente a sua manutenção.

O que é Yidun CAPTCHA
O que é Yidun CAPTCHA
Yidun é um sistema moderno anti-bot desenvolvido pela NetEase. Ele analisa o comportamento do usuário e não exige que o visitante realize tarefas. O sistema acompanha 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, muitas vezes é necessário verificar se o captcha funciona corretamente e está integrado corretamente.
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 via API normalmente envolve as etapas abaixo:

Criação da tarefaCriação da tarefa
arrow
Envio da requisição APIEnvio da requisição API
arrow
Recebimento do resultadoRecebimento 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 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ção da 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 você 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 tem problema! É bem fácil identificar qual tecnologia está sendo usada. Para verificar se tudo está funcionando corretamente, você pode usar o serviço de reconhecimento CapMonster Cloud em um ambiente de testes isolado, para garantir que o mecanismo de processamento de tokens e a lógica de verificação estejam funcionando corretamente.

No caso de Yidun (NECaptcha), basta identificar o sistema, analisar o comportamento dele e se certificar de que a proteção está funcionando corretamente. No artigo, mostramos como identificar Yidun (NECaptcha) e onde encontrar instruções para a integração ou reconfiguração, para que você consiga manter a proteção com segurança e controlar o funcionamento dela.

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