В этой статье мы постарались дать ответы на все вопросы. А начать решение задачи нужно с определения того, какая система защиты используется. Для этого можно обратиться к списку популярных капч и систем антибот-защиты, где представлены визуальные примеры и ключевые признаки, которые могут помочь быстро определить, с чем вы имеете дело.
Если вы обнаружили, что на вашем сайте используется Yidun (NECaptcha), следующим шагом станет более подробное изучение её свойств и самой работы. Также в этой статье вы можете изучить инструкцию по подключению системы Yidun (NECaptcha), чтобы полностью разобраться, как она функционирует на вашем сайте. Это позволит не только понимать текущую защиту, но и грамотно планировать её поддержку.
Работа с CapMonster Cloud через API обычно включает следующие шаги:
type - YidunTask
websiteURL - полный URL вашей страницы с капчей;
websiteKey - значение параметра siteKey
userAgent - User-Agent браузера. Передавайте только актуальный UA от ОС 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 () => {
// Настройки
const TARGET_URL = "https://example.com/";
const WEBSITE_KEY = "6cw0f0485d5d46auacf9b735d20218a5"; // ваш Yidun siteKey
const CMC_API_KEY = "YOUR_API_KEY"; // ваш API-ключ CapMonster Cloud
// 1) Запускаем браузер
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 капчи
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
console.log("Yidun token:", token);
// 3) Вставляем токен в скрытое поле и отправляем форму
await page.evaluate((t) => {
// Находим hidden input для токена (замените на своё значение)
const input = document.querySelector('input[name="NECaptchaValidate"]');
if (input) input.value = t;
// Сабмитим форму, если она есть на странице
const form = document.querySelector("form");
if (form) form.submit();
}, token);
console.log("Капча Yidun решена, токен подставлен и форма отправлена!");
})();
1. Перейдите в панель: создайте учетную запись (с помощью телефона или email).
2. В панели выберите: 产品与服务 → 验证码服务 (Captcha Service).
3. Создайте новый проект (应用).
4. В результате вы получите:
5. Пример подключения фронтенда Yidun
<!-- Подключаем скрипт YiDun -->
<script src="https://cstaticdun.126.net/load.min.js"></script>
<!-- Контейнер для капчи -->
<div id="captcha"></div>
<script>
// Инициализация капчи
initNECaptcha({
captchaId: "YOUR_CAPTCHA_ID", // ваш captchaId из панели YiDun
element: "#captcha", // куда вставить виджет капчи
// Вызывается после успешного прохождения
onVerify: (err, data) => {
if (!err) {
// data.validate -- токен капчи
// Сохраняем его в скрытое поле формы
document.querySelector("#validate").value = data.validate;
}
}
});
</script>
<!-- Форма, отправляющая validate на ваш сервер -->
<form method="POST" action="/verify">
<!-- Сюда капча запишет токен -->
<input type="hidden" id="validate" name="NECaptchaValidate">
<button>Submit</button>
</form>
6. Серверная валидация Yidun (пример на PHP)
<?php
// Данные из панели YiDun
$CAPTCHA_ID = "YOUR_CAPTCHA_ID";
$SECRET_ID = "YOUR_SECRET_ID";
// Получаем токен от фронтенда
$validate = $_POST["NECaptchaValidate"] ?? null;
// Если токена нет -- ошибка
if (!$validate) {
echo "Captcha not passed";
exit;
}
// Готовим POST-запрос
$url = "https://c.dun.163yun.com/api/v2/verify";
$postData = http_build_query([
"captchaId" => $CAPTCHA_ID,
"secretId" => $SECRET_ID,
"validate" => $validate
]);
// Отправляем запрос в 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);
// Декодируем JSON
$data = json_decode($result, true);
// Проверка результата
if ($data["result"] === true) {
echo "Captcha passed successfully";
} else {
echo "Verification error: " . json_encode($data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
}
Если вам достался сайт с уже установленной капчей или другой системой защиты и при этом нет доступа к коду — ничего страшного! Определить, какая именно технология используется, достаточно легко. А для проверки корректности работы можно использовать сервис распознавания CapMonster Cloud в изолированной тестовой среде, чтобы убедиться, что механизм обработки токенов и логика проверки функционируют корректно.
В случае с Yidun (NECaptcha) — достаточно распознать систему, изучить её поведение и убедиться, что защита функционирует корректно. В статье мы показали, как определить Yidun (NECaptcha) и где найти инструкции по её подключению или перенастройке, чтобы уверенно поддерживать защиту и контролировать её работу.