Yidun (NECaptcha)
e CapMonster Cloud

Risoluzione del captcha, installazione sul sito e test.

Prezzi della soluzione Yidun (NECaptcha)

CAPTCHA
Prezzo (USD)
$ 1.00
1000 gettoni
Hai ereditato un sito con una captcha o un'altra protezione ma senza accesso al codice sorgente? È normale chiedersi quale soluzione sia installata, se sia configurata correttamente e come testarla.

In questo articolo abbiamo cercato di rispondere a tutte le domande principali. Il primo passo per risolvere il problema è capire quale sistema di protezione viene utilizzato. A questo scopo puoi consultare l’elenco dei captcha e dei sistemi di protezione antibot più diffusi, dove trovi esempi visivi e caratteristiche chiave che ti aiutano a identificare rapidamente con cosa hai a che fare.

Se scopri che sul tuo sito viene utilizzato Yidun (NECaptcha), il passo successivo è analizzarne più nel dettaglio le proprietà e il funzionamento. In questo stesso articolo puoi anche studiare la guida all’integrazione di Yidun (NECaptcha), per comprendere a fondo come opera sul tuo sito. Questo ti permetterà non solo di capire la protezione attuale, ma anche di pianificarne correttamente la manutenzione.

Cos'è Yidun CAPTCHA
Cos'è Yidun CAPTCHA
Yidun è un moderno sistema antibot sviluppato da NetEase. Si basa sull’analisi del comportamento dell’utente e non richiede alcuna azione da parte del visitatore. Il sistema monitora i movimenti del mouse, gesti, velocità delle azioni, contesto di rete e altre “metriche comportamentali” e poi, tramite machine learning (ML), determina se si tratta di un umano o di un bot.
Background
Esempi di Yidun (NECaptcha)
Smart Captcha
Smart Captcha
Sistema intelligente anti-bot che riconosce automaticamente gli utenti affidabili.
Slide Captcha
Slide Captcha
Captcha visivo popolare dove bisogna trascinare uno slider per completare un piccolo puzzle.
Icon Click Captcha
Icon Click Captcha
Richiede di cliccare su icone o elementi dell’immagine in un ordine specifico.

Come risolvere Yidun tramite CapMonster Cloud

Durante il test dei form con Yidun, spesso è necessario verificare che il captcha funzioni correttamente e sia integrato correttamente.
Puoi testare manualmente il captcha inserito sul tuo sito:
  • Apri la pagina con il form e assicurati che il captcha sia visibile.
  • Prova a inviare il form senza risolvere il captcha — il server dovrebbe restituire un errore.
  • Dopo aver risolto correttamente il captcha, il form dovrebbe essere inviato senza errori.
Per la risoluzione automatica del captcha puoi utilizzare servizi specializzati come CapMonster Cloud, uno strumento che riceve i parametri del captcha, li elabora sui propri server e restituisce un token pronto. Questo token può essere inserito nel form per superare la verifica senza intervento dell’utente.

Lavorare con CapMonster Cloud via API di solito prevede i seguenti passaggi:

Creazione della taskCreazione della task
arrow
Invio della richiesta APIInvio della richiesta API
arrow
Ricezione del risultatoRicezione del risultato
arrow
Inserimento del token nella paginaInserimento del token nella pagina
arrow
Risoluzione di Yidun CAPTCHA con librerie pronte
Il servizio CapMonster Cloud fornisce librerie pronte per Python, JavaScript (Node.js) e C#.
Python
JavaScript
C#
Risoluzione, inserimento del token e invio del form
Esempio in Node.js per l’intero ciclo di risoluzione del captcha sulla tua pagina web. Possibili approcci: usare richieste HTTP per ottenere HTML e parametri di protezione, inviare la risposta e processare il risultato. Oppure usare strumenti di automazione come Playwright: aprire la pagina, attendere la verifica, inviare i parametri a CapMonster Cloud, ottenere il risultato, inserire il token nel form e osservare il risultato.

// 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 () => {
  //  Impostazioni
  const TARGET_URL = "https://example.com/";
  const WEBSITE_KEY = "6cw0f0485d5d46auacf9b735d20218a5";   // tuo siteKey Yidun
  const CMC_API_KEY = "YOUR_API_KEY"; // tua chiave API CapMonster Cloud

  // 1) Avvio del browser
  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) Invio della richiesta per risolvere 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/150.0.0.0 Safari/537.36"
    })
  );

  const token = solution.solution.token; // Ricezione del token Yidun
  console.log("Yidun token:", token);

  // 3) Inserimento del token nel campo nascosto e invio del form
  await page.evaluate((t) => {
    // Trova l’input hidden per il token (sostituisci con il tuo valore)
    const input = document.querySelector('input[name="NECaptchaValidate"]');
    if (input) input.value = t;

    // Invia il form se presente nella pagina
    const form = document.querySelector("form");
    if (form) form.submit();
  }, token);

  console.log("Captcha Yidun risolto, token inserito e form inviato!");
})();

  
Come integrare Yidun (NECaptcha) sul tuo sito
Per capire il funzionamento del captcha sul tuo sito, la logica di verifica o per reintegrarlo, questa sezione descrive tutto il processo di connessione per familiarizzare con ogni dettaglio.

1. Vai al pannello e crea un account (tramite telefono o email).

2. Nel pannello seleziona: 产品与服务 → 验证码服务 (Captcha Service).

3. Crea un nuovo progetto (应用).

4. Come risultato riceverai:

  • captchaId
  • secretKey

5. Esempio di integrazione frontend Yidun


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

<!-- Contenitore per il captcha -->
<div id="captcha"></div>

<script>
// Inizializzazione del captcha
initNECaptcha({
    captchaId: "YOUR_CAPTCHA_ID", // tuo captchaId dal pannello YiDun
    element: "#captcha",          // dove inserire il widget captcha

    // Chiamato dopo il completamento con successo
    onVerify: (err, data) => {
        if (!err) {
            // data.validate -- token del captcha
            // Salvato in un campo nascosto del form
            document.querySelector("#validate").value = data.validate;
        }
    }
});
</script>

<!-- Form che invia il validate al tuo server -->
<form method="POST" action="/verify">
    <!-- Qui il captcha scriverà il token -->
    <input type="hidden" id="validate" name="NECaptchaValidate">

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


6. Validazione server-side Yidun (esempio PHP)


<?php

// Dati dal pannello YiDun
$CAPTCHA_ID = "YOUR_CAPTCHA_ID";
$SECRET_ID  = "YOUR_SECRET_ID";

// Ricezione del token dal frontend
$validate = $_POST["NECaptchaValidate"] ?? null;

// Se non c’è token — errore
if (!$validate) {
    echo "Captcha not passed";
    exit;
}

// Preparazione della richiesta POST
$url = "https://c.dun.163yun.com/api/v2/verify";

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

// Invio della richiesta 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);

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

// Controllo del risultato
if ($data["result"] === true) {
    echo "Captcha passed successfully";
} else {
    echo "Verification error: " . json_encode($data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
}
Background
Possibili errori e debug
Bug Icon
Parametri non corretti
Il captcha non appare o restituisce errori se captchaId o businessId sono errati, se load.min.js non è collegato o se l’accesso alle risorse Yidun è bloccato. Controlla captchaId, businessId, https://cstaticdun.126.net/load.min.js e assenza di blocchi firewall/CSP.
Bug Icon
Timeout o errori di inizializzazione
SDK restituisce 1004 o -1 se l’inizializzazione fallisce. Aumenta il timeout, controlla la rete e abilita logging.
Bug Icon
Validate token vuoto o errato
Validate = null o result: false sul server. Controlla che il captcha sia completato, il token non scaduto, non riutilizzato e che captchaId/secretId coincidano.
Bug Icon
Errore di firma (signature)
Gli errori di firma si verificano con parametri non ordinati o chiave errata. Ordina i parametri, usa la chiave corretta e HMAC-SHA.
Bug Icon
Errori di rete durante la verifica
Timeout, DNS, SSL o formato errato. Richiesta a https://c.dun.163yun.com/api/v2/verify, Content-Type: application/x-www-form-urlencoded e log delle risposte.
Verifiche della resilienza della protezione
Suggerimenti di sicurezza e ottimizzazione
Verifica sempre il validate token solo lato server.
Conserva la chiave segreta in modo sicuro.
Controlla campi aggiuntivi (userIP, scene) per verificare la legittimità della richiesta.
Usa HTTPS per tutte le chiamate API.
Implementa la gestione degli errori e messaggi chiari per l’utente.
Limita l’uso di captchaId per dominio.
Conclusione

Se ti è capitato un sito con un captcha o un altro sistema di protezione già installato e senza accesso al codice, nessun problema! È piuttosto facile capire quale tecnologia viene utilizzata. Per verificare che tutto funzioni correttamente, puoi usare il servizio di riconoscimento CapMonster Cloud in un ambiente di test isolato, così da assicurarti che il meccanismo di elaborazione dei token e la logica di verifica funzionino correttamente.

Nel caso di Yidun (NECaptcha), è sufficiente individuare il sistema, analizzarne il comportamento e assicurarsi che la protezione funzioni correttamente. Nell’articolo abbiamo mostrato come riconoscere Yidun (NECaptcha) e dove trovare le istruzioni per la sua integrazione o riconfigurazione, in modo da poter mantenere la protezione in modo affidabile e controllarne il funzionamento.

Conclusion
Link utili
DocIconRegistrazione su NetEase YidunDocIconDocumentazione YidunDocIconDocumentazione CapMonster Cloud (Yidun)

Domande frequenti su Yidun (NECaptcha)

Yidun rileva i bot combinando sfide CAPTCHA con analisi comportamentale e del dispositivo in tempo reale. Supporta sfide di tipo slider, clic su icone e altri tipi. Può anche funzionare in modalità invisibile senza mostrare subito un puzzle.

In modalità Smart Captcha, Yidun valuta segnali come il comportamento del mouse o del touch, i tempi di interazione e il contesto di rete o dispositivo per assegnare un punteggio di rischio. Questo rende l'aggiramento più difficile rispetto alle CAPTCHA basate solo su immagini, perché i bot devono fare più che risolvere una sfida — devono anche imitare il comportamento umano e risultare coerenti durante la sessione.

Il campo userAgent è opzionale, ma consigliamo vivamente di fornirne uno. Deve essere una stringa User-Agent valida e aggiornata di un browser Windows, con cui funziona il servizio CapMonster Cloud. Poiché Yidun utilizza controlli comportamentali, inviare un user agent obsoleto o non Windows può ridurre l'affidabilità della risoluzione. Se ometti il campo, l'attività può comunque essere creata, ma passare esplicitamente un UA Windows valido ti dà maggiore controllo sulla coerenza.

Sì — i parametri proxy sono opzionali per YidunTask e l'attività può essere eseguita tramite i server proxy di CapMonster Cloud. Fornire un proxy proprio è utile soprattutto quando il flusso di lavoro richiede traffico da un intervallo IP o da una geo specifica.

Le cause più comuni sono le seguenti:

  • Token scaduto o già utilizzato. I token Yidun sono monouso e a tempo limitato, quindi vanno verificati subito dopo la risoluzione della CAPTCHA.
  • Valori captchaId e secretId non corrispondenti tra frontend e server. Controlla queste credenziali nella dashboard Yidun.
  • Lato server, assicurati di inviare la richiesta di verifica a https://c.dun.163yun.com/api/v2/verify con l'intestazione Content-Type: application/x-www-form-urlencoded.
  • Se l'inizializzazione fallisce prima della verifica, i sintomi possono includere i codici di errore 1004 o -1. Aumenta il timeout, controlla la connessione di rete e abilita il logging del SDK.

NECaptchaValidate è il campo di input HTML nascosto che i moduli protetti da Yidun usano per passare il token di verifica dal frontend al server. Dopo che l'API CapMonster Cloud restituisce un token risolto, lo script di automazione deve impostare quel valore in input[name="NECaptchaValidate"] prima di inviare il modulo. Se salti questo passaggio, il server non riceve una prova valida che la CAPTCHA sia stata risolta e l'invio viene in genere rifiutato.