logo
bars

Yidun (NECaptcha)
i CapMonster Cloud

Rozwiązywanie captcha, instalacja na stronie i testowanie.
Odziedziczyłeś stronę z już wdrożoną captchą lub ochroną, ale bez dostępu do kodu źródłowego? Naturalnie pojawia się pytanie, jaka technologia jest używana, czy działa poprawnie i jak ją przetestować.

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.

Czym jest Yidun CAPTCHA
Czym jest Yidun CAPTCHA
Yidun to nowoczesny system antybotowy opracowany przez NetEase. Opiera się na analizie zachowań użytkownika i nie wymaga wykonywania zadań przez odwiedzającego. System śledzi ruchy myszy, gesty, prędkość działań, kontekst sieciowy i inne „metryki behawioralne”, a następnie za pomocą uczenia maszynowego (ML) określa, czy to człowiek, czy bot.
Background
Przykłady Yidun (NECaptcha)
Smart Captcha
Smart Captcha
Inteligentny system ochrony przed botami, który automatycznie rozpoznaje zaufanych użytkowników.
Slide Captcha
Slide Captcha
Popularny rodzaj wizualnej captcha, gdzie trzeba przesunąć suwak, aby ułożyć małą układankę.
Icon Click Captcha
Icon Click Captcha
Wymaga od użytkownika kliknięcia określonych ikon lub elementów obrazu w podanej kolejności.

Jak rozwiązać Yidun przez CapMonster Cloud

Podczas testowania formularzy z Yidun często konieczne jest sprawdzenie, czy captcha działa poprawnie i jest prawidłowo zintegrowana.
Możesz ręcznie przetestować captcha na swojej stronie:
  • Otwórz stronę z formularzem i upewnij się, że captcha jest widoczna.
  • Spróbuj wysłać formularz bez rozwiązania captcha — serwer powinien zwrócić błąd.
  • Po prawidłowym rozwiązaniu captcha — formularz powinien zostać wysłany bez błędów.
Do automatycznego rozpoznawania captcha można użyć specjalistycznych usług, np. CapMonster Cloud — narzędzie, które przyjmuje parametry captcha, przetwarza je na swoich serwerach i zwraca gotowy token. Token można wstawić do formularza, aby przejść weryfikację bez udziału użytkownika.

Praca z CapMonster Cloud poprzez API zazwyczaj obejmuje następujące kroki:

Tworzenie zadaniaTworzenie zadania
arrow
Wysyłanie żądania APIWysyłanie żądania API
arrow
Odebranie wynikuOdebranie wyniku
arrow
Umieszczenie tokenu na stronieUmieszczenie tokenu na stronie
arrow
Rozwiązywanie Yidun CAPTCHA przy użyciu gotowych bibliotek
Usługa CapMonster Cloud oferuje gotowe biblioteki dla Python, JavaScript (Node.js) i C#.
Python
JavaScript
C#
Rozwiązanie, wstawienie tokenu i wysłanie formularza
Przykład w Node.js dla pełnego cyklu rozwiązywania captcha na stronie internetowej. Możliwe podejścia: użycie żądań HTTP do pobrania HTML i parametrów systemu ochrony, wysłanie odpowiedzi i przetworzenie wyniku. Lub z użyciem narzędzi do automatyzacji (np. Playwright) — otworzyć stronę, poczekać na weryfikację, wysłać parametry do CapMonster Cloud, otrzymać wynik, wstawić token do formularza i zobaczyć rezultat.

// 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/145.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!");
})();

  
Jak podłączyć Yidun (NECaptcha) do swojej strony
Aby zrozumieć działanie captcha na swojej stronie, logikę weryfikacji lub ją ponownie skonfigurować, zalecamy zapoznanie się z tym rozdziałem. Opisuje proces podłączenia ochrony krok po kroku.

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:

  • captchaId
  • secretKey

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);
}
Background
Możliwe błędy i debugowanie
Bug Icon
Nieprawidłowe parametry
Captcha nie wyświetla się lub zwraca błędy, jeśli captchaId lub businessId są niepoprawne, load.min.js nie jest podłączony lub dostęp do zasobów Yidun jest zablokowany. Sprawdź captchaId, businessId, https://cstaticdun.126.net/load.min.js i brak blokad CSP/firewall.
Bug Icon
Timeout lub błędy inicjalizacji
SDK zwraca 1004 lub -1, jeśli inicjalizacja nie powiodła się. Zwiększ timeout, sprawdź połączenie sieciowe i włącz logowanie SDK.
Bug Icon
Pusty lub nieprawidłowy validate-token
Validate = null lub result: false na serwerze. Sprawdź, czy captcha jest zakończona, validate nie wygasł, nie został użyty ponownie i czy captchaId/secretId zgadzają się na froncie i serwerze.
Bug Icon
Błąd podpisu (signature)
Serwer zwraca błędy podpisu przy nieprawidłowym sortowaniu parametrów lub błędnym kluczu. Sortuj parametry według klucza, użyj prawidłowego klucza sekretnego i algorytmu HMAC-SHA, loguj podpisy.
Bug Icon
Błędy sieci przy weryfikacji
Timeout, DNS, SSL lub nieprawidłowy format żądania. Wykonaj żądanie do https://c.dun.163yun.com/api/v2/verify, ustaw Content-Type: application/x-www-form-urlencoded i loguj odpowiedzi.
Sprawdzenie odporności ochrony
Rekomendacje dotyczące bezpieczeństwa i optymalizacji
Sprawdzaj validate-token tylko po stronie serwera.
Przechowuj klucz sekretu w bezpieczny sposób.
Sprawdzaj dodatkowe pola (np. userIP, scene) w celu potwierdzenia prawidłowości żądania.
Używaj HTTPS do wszystkich żądań API.
Implementuj obsługę błędów i pokazuj jasne komunikaty użytkownikowi.
Ogranicz użycie captchaId do domen.
Wnioski

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.

Conclusion
Przydatne linki
DocIconRejestracja w systemie NetEase YidunDocIconDokumentacja YidunDocIconDokumentacja CapMonster Cloud (Yidun)