この記事では、よくある疑問にできるだけお答えしました。まず最初のステップは、どのような保護システムが使われているかを特定することです。そのために、代表的なキャプチャやボット対策システムの一覧を参照できます。ここには、どの仕組みが使われているかを素早く見分けるための画面イメージや主な特徴がまとめられています。
もしサイトで 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キー
// 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) トークンをhiddenフィールドに挿入してフォーム送信
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. パネルにアクセスし、電話またはメールでアカウントを作成。
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
element: "#captcha", // ウィジェットを挿入する場所
// 成功後に呼ばれる
onVerify: (err, data) => {
if (!err) {
// data.validate -- キャプチャトークン
// hiddenフィールドに保存
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
// パネルからのデータ
$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)を見分ける方法と、その導入や再設定に関する手順書の見つけ方を紹介しました。これにより、防御を安心して維持し、その動作をしっかりと管理できます。