logo
bars

Yidun (NECaptcha)
и CapMonster Cloud

Решение капчи, установка на сайт и тестирование.
Вам достался «по наследству» сайт с подключённой капчей или другой защитой, но доступа к исходному коду нет? В такой ситуации возникают вопросы: какую именно систему защиты использует сайт, правильно ли она установлена и как проверить её работу?

В этой статье мы постарались дать ответы на все вопросы. А начать решение задачи нужно с определения того, какая система защиты используется. Для этого можно обратиться к списку популярных капч и систем антибот-защиты, где представлены визуальные примеры и ключевые признаки, которые могут помочь быстро определить, с чем вы имеете дело.

Если вы обнаружили, что на вашем сайте используется Yidun (NECaptcha), следующим шагом станет более подробное изучение её свойств и самой работы. Также в этой статье вы можете изучить инструкцию по подключению системы Yidun (NECaptcha), чтобы полностью разобраться, как она функционирует на вашем сайте. Это позволит не только понимать текущую защиту, но и грамотно планировать её поддержку.

Что такое Yidun CAPTCHA
Что такое Yidun CAPTCHA
Yidun — это современная антибот-система, разработанная компанией NetEase. Она основана на анализе поведения пользователя и не требует от посетителя выполнения задания. Система отслеживает движения мыши, жесты, скорость действий, сетевой контекст и другие «поведенческие метрики», а затем через ML (машинное обучение) определяет, человек это или бот.
Background
Виды Yidun (NECaptcha)
Smart Captcha
Smart Captcha
Это интеллектуальная система защиты от ботов, которая автоматически распознаёт надёжных пользователей и пропускает их без лишних действий. Подозрительные или рискованные посетители проходят дополнительную верификацию.
Slide Captcha
Slide Captcha
Популярный тип визуальной капчи, где нужно перетащить ползунок и собрать небольшой пазл.
Icon Click Captcha
Icon Click Captcha
Требует от пользователя нажать на определённые иконки или элементы изображения в заданной последовательности.

Как решить Yidun через CapMonster Cloud

При тестировании форм с Yidun часто возникает необходимость проверить работу капчи и убедиться, что она корректно интегрирована.
Вы можете вручную протестировать подставленную на ваш сайт капчу:
  • Откройте страницу с формой и убедитесь, что капча отображается.
  • Попробуйте отправить форму без её прохождения — сервер должен выдать ошибку.
  • После успешного решения капчи — форма должна отправиться без ошибок.
Для автоматического распознавания капчи можно использовать специализированные сервисы, например, CapMonster Cloud — инструмент, который принимает параметры капчи, обрабатывает их на своих серверах и возвращает готовый токен. Этот токен можно подставить в форму, чтобы пройти проверку без участия пользователя.

Работа с CapMonster Cloud через API обычно включает следующие шаги:

Создание задачи (Task)Создание задачи (Task)
arrow
Отправка запроса к APIОтправка запроса к API
arrow
Получение результатаПолучение результата
arrow
Подстановка токена на страницуПодстановка токена на страницу
arrow
Распознавание Yidun CAPTCHA с использованием готовых библиотек
Сервис CapMonster Cloud предоставляет готовые библиотеки для удобной работы на языках Python, JavaScript (Node.js) и C#.
Python
JavaScript
C#
Решение, подстановка токена и отправка формы
Пример на Node.js для полного цикла распознавания капчи на вашей веб-странице. Возможные подходы: использовать HTTP-запросы для получения HTML и параметров системы защиты, отправить ответ и обработать результат. Или с помощью инструментов для автоматизации (например, Playwright) — открыть страницу, дождаться проверки, отправить параметры через клиент CapMonster Cloud, получить результат, подставить токен в форму (для тестирования вы можете использовать как правильные, так и некорректные данные) и увидеть результат.

// 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/145.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 решена, токен подставлен и форма отправлена!");
})();

  
Как подключить Yidun (NECaptcha) к своему сайту
Чтобы уверенно ориентироваться в работе капчи на вашем сайте, понимать логику её проверки, заново подключить или перенастроить, рекомендуем вам изучить этот раздел. В нём описан процесс подключения защиты — это поможет быстро разобраться во всех нюансах.

1. Перейдите в панель: создайте учетную запись (с помощью телефона или email).

2. В панели выберите: 产品与服务 → 验证码服务 (Captcha Service).

3. Создайте новый проект (应用).

4. В результате вы получите:

  • captchaId
  • secretKey

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);
}
Background
Возможные ошибки и отладка
Bug Icon
Неверные параметры
Капча не отображается или возвращает ошибки, если captchaId или businessId некорректны, скрипт load.min.js не подключён, или доступ к ресурсам Yidun заблокирован. Проверьте актуальность captchaId и businessId, корректность подключения https://cstaticdun.126.net/load.min.js и отсутствие блокировок CSP/firewall.
Bug Icon
Таймаут или ошибки инициализации
SDK возвращает 1004 или -1, если инициализация не прошла. Увеличьте таймаут, проверьте сетевое соединение и включите логирование SDK.
Bug Icon
Пустой или неверный validate-токен
Validate = null или result: false на сервере. Проверьте, что капча завершена, validate не просрочен, не использован повторно и совпадает captchaId/secretId на фронтенде и сервере.
Bug Icon
Ошибка подписи (signature)
Сервер возвращает ошибки подписи при некорректной сортировке параметров или неверном ключе. Сортируйте параметры по ключу, используйте правильный секретный ключ и алгоритм (HMAC-SHA), логируйте подписи.
Bug Icon
Сетевые ошибки при верификации
Timeout, DNS, SSL или неверный формат запроса. Делайте запрос на https://c.dun.163yun.com/api/v2/verify, установите Content-Type: application/x-www-form-urlencoded и логируйте ответы.
Проверка устойчивости защиты
Рекомендации по безопасности и оптимизации
Проверяйте validate-токен только на сервере.
Храните секретный ключ безопасно (переменные окружения или менеджер секретов).
Проверяйте дополнительные поля (например, userIP, scene) для подтверждения легитимности запроса.
Используйте HTTPS для всех запросов к API.
Реализуйте обработку ошибок и показывайте понятные сообщения пользователю.
Ограничивайте использование captchaId по доменам.
Заключение

Если вам достался сайт с уже установленной капчей или другой системой защиты и при этом нет доступа к коду — ничего страшного! Определить, какая именно технология используется, достаточно легко. А для проверки корректности работы можно использовать сервис распознавания CapMonster Cloud в изолированной тестовой среде, чтобы убедиться, что механизм обработки токенов и логика проверки функционируют корректно.

В случае с Yidun (NECaptcha) — достаточно распознать систему, изучить её поведение и убедиться, что защита функционирует корректно. В статье мы показали, как определить Yidun (NECaptcha) и где найти инструкции по её подключению или перенастройке, чтобы уверенно поддерживать защиту и контролировать её работу.

Conclusion
Полезные ссылки
DocIconРегистрация в системе NetEase YidunDocIconДокументация YidunDocIconДокументация CapMonster Cloud (работа с Yidun)