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.
Lavorare con CapMonster Cloud via API di solito prevede i seguenti passaggi:
type - YidunTask
websiteURL - URL completo della pagina contenente il captcha;
websiteKey - valore del siteKey;
userAgent - User-Agent del browser. Invia solo un UA aggiornato di 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 () => {
// 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/142.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!");
})();
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:
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);
}
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.