logo
bars

Yidun (NECaptcha)
ve CapMonster Cloud

Captcha çözümü, siteye kurulum ve test.
Captcha veya başka bir koruma katmanı olan bir site devraldınız ama kaynak koda erişemiyor musunuz? O zaman hangi çözümün kurulu olduğunu, doğru ayarlanıp ayarlanmadığını ve nasıl test edileceğini bilmek istersiniz.

Bu makalede tüm önemli sorulara cevap vermeye çalıştık. Bir problemi çözmeye başlamanın ilk adımı, hangi koruma sisteminin kullanıldığını belirlemektir. Bunun için, görsel örneklerin ve neyle karşı karşıya olduğunuzu hızlıca anlamanıza yardımcı olabilecek temel işaretlerin yer aldığı popüler captcha ve anti-bot koruma sistemleri listesine başvurabilirsiniz.

Sitenizde Yidun (NECaptcha) kullanıldığını fark ederseniz, bir sonraki adım özelliklerini ve çalışma şeklini daha ayrıntılı incelemek olacaktır. Yine bu makalede, Yidun (NECaptcha) sisteminin entegrasyonuna ilişkin kılavuzu da bulabilir ve böylece sitenizde nasıl çalıştığını tamamen anlayabilirsiniz. Bu da yalnızca mevcut korumayı anlamanıza değil, aynı zamanda bakımını doğru şekilde planlamanıza da yardımcı olur.

Yidun CAPTCHA Nedir
Yidun CAPTCHA Nedir
Yidun, NetEase tarafından geliştirilen modern bir anti-bot sistemidir. Kullanıcı davranışlarını analiz eder ve ziyaretçinin görev yapmasını gerektirmez. Sistem fare hareketlerini, jestleri, işlem hızını, ağ bağlamını ve diğer 'davranışsal metrikleri' izler ve ardından makine öğrenimi (ML) ile insan mı yoksa bot mu olduğunu belirler.
Background
Yidun (NECaptcha) örnekleri
Smart Captcha
Smart Captcha
Güvenilir kullanıcıları otomatik tanıyan akıllı anti-bot sistemi.
Slide Captcha
Slide Captcha
Küçük bir puzzle tamamlamak için kaydırıcı sürüklemeyi gerektiren popüler görsel captcha türü.
Icon Click Captcha
Icon Click Captcha
Kullanıcının belirli ikonlara veya resim öğelerine verilen sırayla tıklamasını gerektirir.

CapMonster Cloud ile Yidun Nasıl Çözülür

Yidun ile form testleri yaparken, captcha'nın doğru çalışıp çalışmadığını ve doğru şekilde entegre edildiğini kontrol etmek genellikle gereklidir.
Captcha'yı sitenizde manuel olarak test edebilirsiniz:
  • Form sayfasını açın ve captcha'nın göründüğünden emin olun.
  • Captcha'yı çözmeden formu gönderin — sunucu hata vermelidir.
  • Captcha başarıyla çözüldükten sonra — form hatasız gönderilmelidir.
Captcha'yı otomatik olarak tanımak için CapMonster Cloud gibi özel servisleri kullanabilirsiniz — bu araç captcha parametrelerini alır, sunucularında işler ve hazır bir token döndürür. Bu token, kullanıcı müdahalesi olmadan form doğrulamasını geçmek için formda kullanılabilir.

CapMonster Cloud API ile çalışma genellikle şu adımlardan oluşur:

Görev oluşturmaGörev oluşturma
arrow
API isteği göndermeAPI isteği gönderme
arrow
Sonucu almaSonucu alma
arrow
Token'ı sayfaya yerleştirmeToken'ı sayfaya yerleştirme
arrow
Hazır kütüphaneler kullanarak Yidun CAPTCHA çözme
CapMonster Cloud, Python, JavaScript (Node.js) ve C# için hazır kütüphaneler sunar.
Python
JavaScript
C#
Çözüm, token yerleştirme ve form gönderme
Node.js örneği, web sayfanızda captcha çözmenin tam döngüsü içindir. Olası yaklaşımlar: HTML ve koruma sisteminin parametrelerini almak için HTTP isteği kullanmak, yanıtı göndermek ve sonucu işlemek. Veya otomasyon araçları (ör. Playwright) ile — sayfayı açmak, doğrulamayı beklemek, CapMonster Cloud üzerinden parametreleri göndermek, sonucu almak, tokeni forma yerleştirmek (test için doğru veya yanlış veriler kullanabilirsiniz) ve sonucu görmek.

// 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 () => {
  //  Ayarlar
  const TARGET_URL = "https://example.com/";
  const WEBSITE_KEY = "6cw0f0485d5d46auacf9b735d20218a5";   // Yidun siteKey'iniz
  const CMC_API_KEY = "YOUR_API_KEY"; // CapMonster Cloud API anahtarınız

  // 1) Tarayıcı başlatılıyor
  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) Yidun captcha çözüm isteği gönderiliyor
  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; // Yidun token alınıyor
  console.log("Yidun token:", token);

  // 3) Token gizli alana yerleştiriliyor ve form gönderiliyor
  await page.evaluate((t) => {
    // Token için hidden input bulun (kendi değerinizi değiştirin)
    const input = document.querySelector('input[name="NECaptchaValidate"]');
    if (input) input.value = t;

    // Form varsa gönderin
    const form = document.querySelector("form");
    if (form) form.submit();
  }, token);

  console.log("Yidun captcha çözüldü, token yerleştirildi ve form gönderildi!");
})();

  
Yidun (NECaptcha) sitenize nasıl bağlanır
Captcha'nın sitenizde nasıl çalıştığını, doğrulama mantığını anlamak veya yeniden bağlamak/ayarlarını yapmak için bu bölümü incelemeniz önerilir. Koruma entegrasyon sürecini adım adım açıklar.

1. panoya gidin ve hesap oluşturun (telefon veya email ile).

2. Panoda şunu seçin: 产品与服务 → 验证码服务 (Captcha Service).

3. Yeni bir proje oluşturun (应用).

4. Sonuç olarak şunları alırsınız:

  • captchaId
  • secretKey

5. Yidun frontend bağlantı örneği


<!-- YiDun script'ini bağlayın -->
<script src="https://cstaticdun.126.net/load.min.js"></script>

<!-- Captcha container -->
<div id="captcha"></div>

<script>
// Captcha başlatma
initNECaptcha({
    captchaId: "YOUR_CAPTCHA_ID", // Panelden captchaId'niz
    element: "#captcha",          // Widget'ı nereye yerleştireceğiniz

    // Başarı sonrası çağrılır
    onVerify: (err, data) => {
        if (!err) {
            // data.validate -- Captcha token
            // Form gizli alanına kaydedin
            document.querySelector("#validate").value = data.validate;
        }
    }
});
</script>

<!-- Validate'i sunucunuza gönderen form -->
<form method="POST" action="/verify">
    <!-- Captcha tokeni buraya yazacak -->
    <input type="hidden" id="validate" name="NECaptchaValidate">

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


6. Yidun server-side doğrulama (PHP örneği)


<?php

// YiDun panel verileri
$CAPTCHA_ID = "YOUR_CAPTCHA_ID";
$SECRET_ID  = "YOUR_SECRET_ID";

// Frontend'den token alınır
$validate = $_POST["NECaptchaValidate"] ?? null;

// Token yoksa — hata
if (!$validate) {
    echo "Captcha not passed";
    exit;
}

// POST isteği hazırlanıyor
$url = "https://c.dun.163yun.com/api/v2/verify";

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

// YiDun'a istek gönderiliyor
$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);

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

// Sonuç kontrol ediliyor
if ($data["result"] === true) {
    echo "Captcha passed successfully";
} else {
    echo "Verification error: " . json_encode($data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
}
Background
Olası hatalar ve hata ayıklama
Bug Icon
Yanlış parametreler
Captcha görünmez veya hata dönerse captchaId veya businessId yanlış, load.min.js bağlanmamış veya Yidun kaynaklarına erişim engellenmiş demektir. captchaId, businessId, https://cstaticdun.126.net/load.min.js ve CSP/firewall engellerini kontrol edin.
Bug Icon
Zaman aşımı veya başlatma hatası
SDK başlatılamazsa 1004 veya -1 döner. Timeout'u artırın, ağ bağlantısını kontrol edin ve SDK loglamayı etkinleştirin.
Bug Icon
Boş veya geçersiz validate token
Server tarafında validate = null veya result: false. Captcha tamamlanmış mı, validate süresi dolmamış mı, tekrar kullanılmamış mı ve captchaId/secretId frontend ile sunucuda eşleşiyor mu kontrol edin.
Bug Icon
İmza hatası (signature)
Parametreler yanlış sıralanır veya anahtar yanlışsa server imza hatası döner. Parametreleri key'e göre sıralayın, doğru secret key ve HMAC-SHA algoritmasını kullanın, imzaları loglayın.
Bug Icon
Doğrulamada ağ hataları
Timeout, DNS, SSL veya yanlış istek formatı. https://c.dun.163yun.com/api/v2/verify adresine isteği yapın, Content-Type: application/x-www-form-urlencoded ayarlayın ve yanıtları loglayın.
Korumanın dayanıklılığını test etme
Güvenlik ve optimizasyon önerileri
Validate token'i sadece server tarafında kontrol edin.
Secret key'i güvenli saklayın.
İsteğin meşruiyetini doğrulamak için ek alanları kontrol edin (userIP, scene).
Tüm API isteklerinde HTTPS kullanın.
Hata yönetimi ve kullanıcıya anlaşılır mesajlar gösterin.
CaptchaId kullanımını domain ile sınırlayın.
Sonuç

Kodu üzerinde erişiminiz olmayan, ancak üzerinde zaten bir captcha veya başka bir koruma sistemi kurulmuş bir site devraldıysanız, sorun değil! Hangi teknolojinin kullanıldığını tespit etmek oldukça kolaydır. Çalışmanın düzgün olup olmadığını kontrol etmek için ise, izole bir test ortamında CapMonster Cloud tanıma servisinden yararlanarak, jeton işleme mekanizmasının ve doğrulama mantığının doğru şekilde çalıştığından emin olabilirsiniz.

Yidun (NECaptcha) söz konusu olduğunda, sistemi tanımlamak, davranışını incelemek ve korumanın düzgün çalıştığını doğrulamak yeterlidir. Bu yazıda, Yidun (NECaptcha) nasıl tespit edilir ve entegrasyonu ya da yeniden yapılandırılması için talimatların nerede bulunabileceği gösterdik; böylece korumayı güvenle sürdürebilir ve çalışmasını kontrol altında tutabilirsiniz.

Conclusion
Faydalı bağlantılar
DocIconNetEase Yidun sistemine kayıtDocIconYidun DokümantasyonuDocIconCapMonster Cloud Dokümantasyonu (Yidun)