W tym artykule staraliśmy się odpowiedzieć na wszystkie najważniejsze pytania. Pierwszym krokiem w rozwiązywaniu problemu jest ustalenie, jaki system ochrony jest używany. W tym celu możesz skorzystać z listy popularnych captcha i systemów ochrony antybotowej, gdzie znajdziesz przykłady graficzne oraz kluczowe cechy, które pomogą szybko rozpoznać, z czym masz do czynienia.
Jeśli okaże się, że na Twojej stronie używany jest Yidun (NECaptcha), kolejnym krokiem będzie dokładniejsze poznanie jej właściwości i sposobu działania. W tym artykule możesz również zapoznać się z instrukcją integracji systemu Yidun (NECaptcha), aby w pełni zrozumieć, jak funkcjonuje on na Twojej stronie. Dzięki temu nie tylko lepiej poznasz obecną ochronę, ale też świadomie zaplanujesz jej dalsze utrzymanie.
Praca z CapMonster Cloud poprzez API zazwyczaj obejmuje następujące kroki:
type - YidunTask
websiteURL - pełny URL strony z captcha;
websiteKey - wartość parametru siteKey;
userAgent - User-Agent przeglądarki. Przekazuj tylko aktualny UA z 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 () => {
// Ustawienia
const TARGET_URL = "https://example.com/";
const WEBSITE_KEY = "6cw0f0485d5d46auacf9b735d20218a5"; // Twój Yidun siteKey
const CMC_API_KEY = "YOUR_API_KEY"; // Twój klucz API CapMonster Cloud
// 1) Uruchamiamy przeglądarkę
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) Wysyłamy żądanie do rozwiązania Yidun captcha
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; // Otrzymujemy token Yidun
console.log("Yidun token:", token);
// 3) Wstawiamy token w ukryte pole i wysyłamy formularz
await page.evaluate((t) => {
// Znajdź ukryte pole dla tokenu (zamień na swoją wartość)
const input = document.querySelector('input[name="NECaptchaValidate"]');
if (input) input.value = t;
// Wyślij formularz, jeśli istnieje na stronie
const form = document.querySelector("form");
if (form) form.submit();
}, token);
console.log("Captcha Yidun rozwiązana, token wstawiony i formularz wysłany!");
})();
1. Przejdź do panelu i utwórz konto (przez telefon lub email).
2. W panelu wybierz: 产品与服务 → 验证码服务 (Captcha Service).
3. Utwórz nowy projekt (应用).
4. W rezultacie otrzymasz:
5. Przykład podłączenia frontend Yidun
<!-- Podłącz skrypt YiDun -->
<script src="https://cstaticdun.126.net/load.min.js"></script>
<!-- Kontener dla captcha -->
<div id="captcha"></div>
<script>
// Inicjalizacja captcha
initNECaptcha({
captchaId: "YOUR_CAPTCHA_ID", // Twój captchaId z panelu YiDun
element: "#captcha", // Gdzie wstawić widget captcha
// Wywoływane po pomyślnym zakończeniu
onVerify: (err, data) => {
if (!err) {
// data.validate -- Token captcha
// Zapisz go w ukrytym polu formularza
document.querySelector("#validate").value = data.validate;
}
}
});
</script>
<!-- Formularz wysyłający validate do twojego serwera -->
<form method="POST" action="/verify">
<!-- Tutaj captcha zapisze token -->
<input type="hidden" id="validate" name="NECaptchaValidate">
<button>Submit</button>
</form>
6. Walidacja po stronie serwera Yidun (przykład PHP)
<?php
// Dane z panelu YiDun
$CAPTCHA_ID = "YOUR_CAPTCHA_ID";
$SECRET_ID = "YOUR_SECRET_ID";
// Otrzymujemy token z frontendu
$validate = $_POST["NECaptchaValidate"] ?? null;
// Jeśli brak tokenu — błąd
if (!$validate) {
echo "Captcha not passed";
exit;
}
// Przygotowujemy żądanie POST
$url = "https://c.dun.163yun.com/api/v2/verify";
$postData = http_build_query([
"captchaId" => $CAPTCHA_ID,
"secretId" => $SECRET_ID,
"validate" => $validate
]);
// Wysyłamy żądanie do 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);
// Dekodujemy JSON
$data = json_decode($result, true);
// Sprawdzamy wynik
if ($data["result"] === true) {
echo "Captcha passed successfully";
} else {
echo "Verification error: " . json_encode($data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
}
Jeśli przejąłeś stronę internetową, na której jest już zainstalowany captcha lub inny system zabezpieczeń, a jednocześnie nie masz dostępu do kodu — to nic strasznego! Dość łatwo jest ustalić, jaka dokładnie technologia jest używana. Aby sprawdzić poprawność działania, możesz skorzystać z usługi rozpoznawania CapMonster Cloud w odizolowanym środowisku testowym, żeby upewnić się, że mechanizm przetwarzania tokenów i logika weryfikacji działają prawidłowo.
W przypadku Yidun (NECaptcha) wystarczy rozpoznać system, przeanalizować jego zachowanie i upewnić się, że zabezpieczenie działa poprawnie. W artykule pokazaliśmy, jak zidentyfikować Yidun (NECaptcha) oraz gdzie znaleźć instrukcje dotyczące jego podłączenia lub ponownej konfiguracji, aby móc pewnie utrzymywać ochronę i kontrolować jej działanie.