在本文中,我们尽量回答了所有关键问题。要开始解决问题,第一步是确定当前使用的是哪种防护系统。为此,您可以查看常见验证码与反机器人防护系统列表,其中提供了可视化示例和关键特征,帮助您快速判断自己正在使用哪一种方案。
如果您发现自己的网站使用的是 Yidun (NECaptcha),下一步就是更深入地了解它的特性和具体工作方式。在本文中,您还可以查看 Yidun (NECaptcha) 的接入说明,以便彻底弄清它在您的网站上是如何运行的。这样一来,您不仅能更好地理解当前的防护机制,还可以更合理地规划后续的维护和支持。
通过 CapMonster Cloud API 工作的一般流程:
type - YidunTask
websiteURL - 验证码页面完整 URL;
websiteKey - siteKey 参数值;
userAgent - 浏览器 User-Agent。仅提供 Windows 的最新 UA。
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"; // 你的 CapMonster Cloud API Key
// 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 token
console.log("Yidun token:", token);
// 3) 将 token 插入隐藏字段并提交表单
await page.evaluate((t) => {
// 找到隐藏输入 token(替换为你的值)
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 验证码已解决,token 已插入,表单已提交!");
})();
1. 前往 控制面板 并创建账户(手机号或邮箱)。
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", // 你在 YiDun 面板的 captchaId
element: "#captcha", // 放置验证码控件的位置
// 成功完成后调用
onVerify: (err, data) => {
if (!err) {
// data.validate -- 验证码 token
// 存入表单隐藏字段
document.querySelector("#validate").value = data.validate;
}
}
});
</script>
<!-- 表单将 validate 提交到服务器 -->
<form method="POST" action="/verify">
<!-- captcha 会在此记录 token -->
<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";
// 从前端获取 token
$validate = $_POST["NECaptchaValidate"] ?? null;
// 如果没有 token — 报错
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),以及到哪里查找其接入或重新配置的说明文档,从而帮助你自信地维护防护方案并掌控其运行情况。