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.
CapMonster Cloud API ile çalışma genellikle şu adımlardan oluşur:
type - YidunTask
websiteURL - Captcha sayfanızın tam URL'si;
websiteKey - siteKey parametre değeri;
userAgent - Tarayıcı User-Agent'ı. Sadece güncel Windows UA gönderin.
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 () => {
// 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/142.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!");
})();
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:
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);
}
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.