TenDI (Tencent) CAPTCHA
और CapMonster Cloud

कैप्चा समाधान, वेबसाइट पर इंटीग्रेशन और परीक्षण।

TenDI (Tencent) समाधान की कीमतें

कैप्च
मूल्य (USD)
$ 1.60
1000 टोकन
क्या आपको ऐसी साइट मिली है जिस पर पहले से कैप्चा या सुरक्षा परत है, लेकिन सोर्स कोड तक पहुँच नहीं है? तब स्वाभाविक रूप से प्रश्न उठते हैं: कौन सा समाधान लगा है, क्या वह सही तरह से कॉन्फ़िगर हुआ है और इसे कैसे परखा जाए?

इस लेख में हमने आपकी सभी महत्वपूर्ण शंकाओं के जवाब देने की कोशिश की है। किसी भी समस्या को हल करना शुरू करने का पहला कदम यह तय करना है कि कौन-सा सुरक्षा सिस्टम उपयोग में है। इसके लिए आप लोकप्रिय कैप्चा और एंटी-बॉट सुरक्षा सिस्टमों की सूची देख सकते हैं, जहाँ ऐसे दृश्य उदाहरण और मुख्य संकेत दिए गए हैं जो यह जल्दी समझने में मदद करते हैं कि आप किस समाधान के साथ काम कर रहे हैं।

यदि आपको पता चलता है कि आपकी साइट पर TenDI (Tencent) उपयोग हो रहा है, तो अगला कदम इसके गुणों और काम करने के तरीके को और विस्तार से समझना है। इसी लेख में आप TenDI (Tencent) सिस्टम को जोड़ने (इंटीग्रेट करने) की निर्देशिका भी देख सकते हैं, ताकि आप पूरी तरह समझ सकें कि यह आपकी साइट पर कैसे काम करता है। इससे आप न केवल मौजूदा सुरक्षा को बेहतर ढंग से समझ पाएँगे, बल्कि उसकी सपोर्ट और रखरखाव की सही योजना भी बना सकेंगे।

TenDI CAPTCHA क्या है
TenDI CAPTCHA क्या है
TenDI (Tencent) CAPTCHA एक बहु-स्तरीय बोट सुरक्षा प्रणाली है। व्यवहार विश्लेषण और विशेष तंत्र का उपयोग करके यह जांचता है कि वेबसाइट विज़िटर वास्तविक मानव है या नहीं। इसका उपयोग रजिस्ट्रेशन, लॉगिन, मार्केटिंग अभियान और स्पैम और डेटा चोरी को रोकने के लिए किया जाता है।
Background
TenDI (Tencent) के उदाहरण
Non-perception CAPTCHA
Non-perception CAPTCHA
जांच उपयोगकर्ता की भागीदारी के बिना स्वचालित रूप से होती है। उन परिदृश्यों के लिए आदर्श जहाँ उपयोगकर्ता अनुभव महत्वपूर्ण है।
Slider CAPTCHA
Slider CAPTCHA
स्लाइडर खींचकर तेज़ और सरल जांच। अधिकांश मामलों के लिए उपयुक्त।
Graphic CAPTCHA
Graphic CAPTCHA
उपयोगकर्ता क्रमशः चित्र के तत्वों पर क्लिक करता है। उच्च सुरक्षा परिदृश्यों में उपयोग किया जाता है।
Audio CAPTCHA
Audio CAPTCHA
ऑडियो रिकॉर्डिंग के माध्यम से जांच। विशेष जरूरत वाले उपयोगकर्ताओं के लिए उपयुक्त।
Smart Verification
Smart Verification
सिस्टम उपयोगकर्ता के व्यवहार का मूल्यांकन करता है: भरोसेमंद उपयोगकर्ता तुरंत पास होते हैं, संदिग्ध उपयोगकर्ताओं की अतिरिक्त जांच होती है।
Multi-dimensional Defense
Multi-dimensional Defense
कई सुरक्षा तंत्र उपयोग किए जाते हैं: डायनेमिक एन्क्रिप्शन, एंटी-बॉट और अन्य।

CapMonster Cloud के माध्यम से Tencent CAPTCHA कैसे हल करें

Tencent CAPTCHA वाले फ़ॉर्म का परीक्षण करते समय अक्सर यह जांचना आवश्यक होता है कि कैप्चा सही ढंग से काम कर रहा है और सही तरीके से एकीकृत है।
आप अपनी वेबसाइट पर लागू कैप्चा को मैन्युअली परीक्षण कर सकते हैं:
  • फ़ॉर्म वाली पेज खोलें और सुनिश्चित करें कि कैप्चा प्रदर्शित हो रहा है।
  • कैप्चा हल किए बिना फ़ॉर्म सबमिट करने का प्रयास करें — सर्वर को त्रुटि लौटानी चाहिए।
  • कैप्चा सफलतापूर्वक हल होने के बाद — फ़ॉर्म बिना त्रुटियों के सबमिट होना चाहिए।
कैप्चा को स्वचालित रूप से पहचानने के लिए, आप विशेष सेवाओं जैसे CapMonster Cloud का उपयोग कर सकते हैं — यह उपकरण कैप्चा पैरामीटर लेता है, अपने सर्वरों पर उन्हें प्रोसेस करता है और तैयार टोकन लौटाता है। इस टोकन को फ़ॉर्म में डालकर उपयोगकर्ता की भागीदारी के बिना सत्यापन पूरा किया जा सकता है।

API के माध्यम से CapMonster Cloud के साथ काम करने के सामान्य चरण:

टास्क तैयार करनाटास्क तैयार करना
arrow
API अनुरोध भेजनाAPI अनुरोध भेजना
arrow
परिणाम प्राप्त करनापरिणाम प्राप्त करना
arrow
टोकन को पेज पर रखनाटोकन को पेज पर रखना
arrow
तैयार लाइब्रेरी का उपयोग करके TenDI (Tencent) CAPTCHA पहचान
CapMonster Cloud Python, JavaScript (Node.js) और C# में आसान कार्य के लिए तैयार लाइब्रेरी प्रदान करता है।
Python
JavaScript
C#
समाधान, टोकन सम्मिलन और फ़ॉर्म सबमिशन
Node.js में उदाहरण जो आपकी वेब पेज पर कैप्चा की पूरी पहचान प्रक्रिया दिखाता है। संभावित दृष्टिकोण: HTML और सुरक्षा प्रणाली के पैरामीटर प्राप्त करने के लिए HTTP अनुरोध का उपयोग करें, प्रतिक्रिया भेजें और परिणाम प्रोसेस करें। या, जैसे नीचे उदाहरण में, ऑटोमेशन उपकरण (जैसे Playwright) का उपयोग करें — पेज खोलें, सत्यापन का इंतजार करें, CapMonster Cloud क्लाइंट के माध्यम से पैरामीटर भेजें, परिणाम प्राप्त करें, टोकन फ़ॉर्म में डालें (परीक्षण के लिए सही या गलत डेटा का उपयोग कर सकते हैं) और परिणाम देखें।

// npx playwright install chromium

import { chromium } from 'playwright';
import { CapMonsterCloudClientFactory, ClientOptions, TenDIRequest } from '@zennolab_com/capmonstercloud-client';

// अपने मानों से बदलें
const API_KEY = "YOUR_API_KEY";         
const WEBSITE_URL = "https://example.com";

async function solveTenDIOnPage() {
    const browser = await chromium.launch({ headless: false });
    const context = await browser.newContext();
    const page = await context.newPage();

    // 1. पृष्ठ खोलें
    await page.goto(WEBSITE_URL, { waitUntil: 'networkidle' });

    // 2. कैप्चा प्रकट होने का इंतजार करें (उदा. input या iframe)
    await page.waitForSelector('#tendi_response, iframe[src*="tendi"], input[name="tendi_response"]', { timeout: 15000 });

    // यदि आवश्यक हो, तो websiteKey सीधे पृष्ठ से निकाला जा सकता है
    const WEBSITE_KEY = await page.evaluate(() => {
        // उदाहरण: sitekey data-attribute या वैश्विक वेरिएबल में हो सकता है
        const el = document.querySelector('#tendi_response') || document.querySelector('div[data-sitekey]');
        return el?.getAttribute('data-sitekey') || window.TenDI_siteKey || "183268248";
    });

    console.log("Website key detected:", WEBSITE_KEY);

    const client = CapMonsterCloudClientFactory.Create(
        new ClientOptions({ clientKey: API_KEY })
    );

    // 3. TenDI टास्क बनाएं
    const tenDIRequest = new TenDIRequest({
        websiteURL: page.url(),
        websiteKey: WEBSITE_KEY,
    });

    const balance = await client.getBalance();
    console.log("Balance:", balance);

    // 4. कैप्चा हल करें
    const solution = await client.Solve(tenDIRequest);
    console.log("Solution:", solution);

    const { ticket, randstr } = solution.solution.data;

    // 5. समाधान परिणाम डालने के तरीके
    await page.evaluate(({ ticket, randstr }) => {
        // input में डालें
        const inputSelectors = ['#tendi_response', 'input[name="tendi_response"]', 'input[type="hidden"]'];
        let inserted = false;
        for (const sel of inputSelectors) {
            const input = document.querySelector(sel);
            if (input) {
                input.value = ticket;
                input.dispatchEvent(new Event('input', { bubbles: true }));
                const form = input.closest('form');
                if (form) form.submit();
                inserted = true;
                break;
            }
        }

        // JS callback फ़ंक्शन
        if (typeof window.onCaptchaSolved === 'function') {
            window.onCaptchaSolved(ticket, randstr);
            inserted = true;
        }

        // यदि कोई input या callback नहीं है
        if (!inserted) {
            window._tenDITicket = ticket;
            window._tenDIRandStr = randstr;
            console.log("Ticket and randstr saved to window._tenDITicket and window._tenDIRandStr");
        }
    }, { ticket, randstr });

    await page.waitForTimeout(5000);
    await browser.close();
}

solveTenDIOnPage().catch(console.error);
  
TenDI (Tencent) CAPTCHA को अपनी साइट पर कैसे कनेक्ट करें
यह समझने के लिए कि कैप्चा आपकी साइट पर कैसे काम करता है, इसके सत्यापन लॉजिक को समझने, पुनः कनेक्ट करने या री-कॉन्फ़िगर करने के लिए, इस अनुभाग को देखें। इसमें सुरक्षा कनेक्शन की प्रक्रिया का वर्णन है — यह सभी विवरण जल्दी समझने में मदद करता है।
  • 1. अपने खाते में लॉगिन करें या नया खाता बनाएं Captcha Console
  • 2. Verification Management सेक्शन खोलें।
  • 3. नया कैप्चा बनाएं (यदि अभी तक नहीं है)।

आपको दो पैरामीटर मिलेंगे: CaptchaAppId और AppSecretKey। इन्हें फ्रंटेंड और सर्वर पर उपयोग करेंगे।

फ्रंटेंड इंटीग्रेशन उदाहरणफ्रंटेंड इंटीग्रेशन उदाहरण
arrow

इंटीग्रेशन कैसे काम करता है

चरण 1: कैप्चा JS लोड करें

स्क्रिप्ट को डायनेमिक रूप से लोड करना चाहिए:

<script src="https://ca.turing.captcha.qcloud.com/TJNCaptcha-global.js"></script>

यदि स्क्रिप्ट असामान्य तरीके से लोड हो या कैश किया जाए, तो कैप्चा सही से काम नहीं कर सकता।

चरण 2: TencentCaptcha ऑब्जेक्ट बनाएं

JS लोड होने के बाद एक ग्लोबल क्लास उपलब्ध होता है:

<script src="new TencentCaptcha(domElement, CaptchaAppId, callback, options);"></script>

पैरामीटर:

domElement - कंटेनर जहाँ चेकबॉक्स/iframe एम्बेड किया गया है

CaptchaAppId - आपका ID

callback - सत्यापन के बाद क्या करना है

options - दृश्य सेटिंग्स (ऑप्शनल)

चरण 3: मेथड कॉल करें .show()

captcha.show();

कैप्चा दिखाता है। इसे कई बार कॉल किया जा सकता है।

चरण 4: परिणाम प्रोसेस करें

Callback ऑब्जेक्ट प्राप्त करता है:


{
  ret: 0,              // 0 -- सफलता, 2 -- उपयोगकर्ता ने विंडो बंद की
  ticket: "...",       // सर्वर को चाहिए
  randstr: "...",      // सर्वर को भी चाहिए
  errorCode: 1001,     // यदि कैप्चा लोड नहीं हुआ
  errorMessage: "..."  // त्रुटि संदेश
}

सर्वर पर हमेशा ticket की द्वितीयक जांच करें।

"आपातकालीन मोड" (Disaster Recovery)

यदि कैप्चा लोड नहीं हुआ (उदा. CDN अनुपलब्ध), तो 'आपातकालीन टिकट' स्वचालित रूप से जारी किया जा सकता है ताकि व्यवसाय प्रक्रिया बाधित न हो।

परिदृश्य:

  • कैप्चा बनाने का प्रयास किया → त्रुटि।
  • कॉल करें loadErrorCallback().
  • इस प्रकार का टिकट जनरेट करें:
    trerror_<errorcode>_<appid>_<timestamp>
  • सामान्य प्रक्रिया जारी रखें, लेकिन सर्वर देखता है कि यह आपातकालीन टिकट है और निर्णय लेता है।

AppId एन्क्रिप्शन (वैकल्पिक)

यदि अधिकतम सुरक्षा आवश्यक है, तो कैप्चा को खुला AppId भेजने के बजाय इसका एन्क्रिप्टेड संस्करण भेज सकते हैं:

aidEncrypted = Base64(IV + AES256(AppId & timestamp & ttl))

आवश्यक है:

  • 32-बाइट की कुंजी (AppSecretKey → 32 बाइट तक भरा गया)
  • AES-256 CBC + PKCS7Padding
  • 16-बाइट IV
  • timestamp और वैधता समय (सेकंड में)

सर्वर-साइड एन्क्रिप्शन उदाहरण (Python)


from Crypto.Cipher import AES
from Crypto.Util.Padding import pad
import base64

def encrypt(plaintext, key, iv):
    cipher = AES.new(key, AES.MODE_CBC, iv)
    ciphertext = cipher.encrypt(pad(plaintext.encode(), AES.block_size))
    return base64.b64encode(iv + ciphertext).decode("utf-8")

सर्वर-साइड सत्यापन

चरण 1. API एक्सेस सेटअप करें

अपने कुंजी प्रबंधन पैनल (CAM / API Key Management) में SecretId और SecretKey प्राप्त करें। ये API साइन की गई रिक्वेस्ट के लिए आवश्यक हैं।

चरण 2. API DescribeCaptchaResult कॉल करें

क्लाइंट से ticket और randstr लौटने के बाद, सर्वर को अनुरोध भेजना चाहिए:

  • Action: DescribeCaptchaResult
  • Version: 2019-07-22 (या वर्तमान)

पैरामीटर:

CaptchaType - 9 (स्थिर मान)

Ticket - स्ट्रिंग — ticket, क्लाइंट से लौटा

Randstr - स्ट्रिंग — randstr, क्लाइंट से लौटा

CaptchaAppId - आपका AppId

AppSecretKey - आपकी SecretKey

UserIp - उपयोगकर्ता IP (अनुशंसित)

चरण 3. प्रतिक्रिया प्रोसेस करें

API लौटाएगा:

  • CaptchaCode: integerसत्यापन परिणाम।
  • 0 (या OK) — कैप्चा पास, ticket मान्य

यदि CaptchaCode === OK, उपयोगकर्ता को सत्यापित माना जाता है। अन्यथा — अस्वीकार करें।

उदाहरण — Node.js में ticket सत्यापन


import { v20190722 as captcha } from "@tencentcloud/tencentcloud-sdk-nodejs";
const client = new captcha.Client({
  credential: {
    secretId: "YOUR_SECRET_ID",
    secretKey: "YOUR_SECRET_KEY"
  },
  region: "ap-project", // क्षेत्र, यदि आवश्यक हो
});

async function verifyCaptcha(ticket, randstr, userIp) {
  const params = {
    CaptchaType: 9,
    Ticket: ticket,
    Randstr: randstr,
    CaptchaAppId: YOUR_APP_ID,
    AppSecretKey: "YOUR_APP_SECRET_KEY",
    UserIp: userIp
  };

  const resp = await client.DescribeCaptchaResult(params);
  const code = resp.Response.CaptchaCode;
  return code === 0;
}
HelpIcon

Tencent CAPTCHA को अपनी साइट से जोड़ने के बारे में अधिक जानकारी आप आधिकारिक दस्तावेज़ में पा सकते हैं।

Background
संभावित त्रुटियाँ और डिबगिंग
Bug Icon
कैप्चा लोड नहीं हो रहा
(त्रुटियाँ 1001, 1002 या अमान्य हस्ताक्षर संदेश) — इसका कारण गलत अनुरोध पैरामीटर हो सकते हैं। सुनिश्चित करें कि CaptchaAppId, AppSecretKey और सभी अनुरोध पैरामीटर सही ढंग से निर्दिष्ट किए गए हैं।
Bug Icon
गलत या खाली ticket/randstr
सुनिश्चित करें कि क्लाइंट दोनों पैरामीटर सही तरीके से भेज रहा है।
Bug Icon
सुलझाने का समय समाप्त
सर्वर साइड पर समय सीमा बढ़ाएँ।
सुरक्षा की मजबूती की जाँच
इंटीग्रेशन के बाद यह सुनिश्चित करना महत्वपूर्ण है कि सुरक्षा सही से काम कर रही है।
सुरक्षा और अनुकूलन के सुझाव
<span class="font-bold">AppSecretKey</span> केवल सर्वर पर रखें, इसे ब्राउज़र में न भेजें और JS कोड में शामिल न करें।
Tencent CAPTCHA की पूरी प्रतिक्रिया, त्रुटि कोड, अनुरोध समय और वेरिफिकेशन पैरामीटर लॉग करें — यह समस्याओं का तेजी से निदान करने में मदद करेगा।
सभी पैरामीटर <span class="font-bold">(ticket, randstr)</span> भेजते समय HTTPS का उपयोग करें, ताकि बदलने से बचा जा सके।
पेज पर सही लिंक रखें <span class="font-bold">Privacy Policy</span> और <span class="font-bold">Tencent Terms of Use</span> के लिए, जैसा कि लाइसेंस में आवश्यक है।
निष्कर्ष

अगर आपके पास ऐसा साइट आया है, जिस पर पहले से ही कोई कैप्चा या अन्य सुरक्षा प्रणाली लगी हुई है और आपके पास कोड तक पहुंच नहीं है — तो घबराने की ज़रूरत नहीं है! यह पता लगाना काफ़ी आसान है कि वास्तव में कौन-सी तकनीक इस्तेमाल हो रही है। काम की सही जाँच के लिए आप अलग-थलग टेस्ट वातावरण में CapMonster Cloud पहचान सेवा का उपयोग कर सकते हैं, ताकि यह सुनिश्चित हो सके कि टोकन प्रोसेसिंग का मेकैनिज़्म और वेरिफिकेशन लॉजिक ठीक तरह से काम कर रहे हैं।

TenDI (Tencent) के मामले में सिस्टम की पहचान करना, उसके व्यवहार का विश्लेषण करना और यह सुनिश्चित करना ही काफ़ी है कि सुरक्षा सही तरीके से काम कर रही है। इस लेख में हमने दिखाया है कि TenDI (Tencent) को कैसे पहचाना जाए और इसे जोड़ने या दोबारा कॉन्फ़िगर करने की निर्देशिका कहाँ मिलेगी, ताकि आप आत्मविश्वास के साथ सुरक्षा को बनाए रख सकें और इसके काम को नियंत्रित कर सकें।

Conclusion
उपयोगी लिंक
DocIconTenDI (Tencent) CAPTCHA दस्तावेज़DocIconCapMonster Cloud दस्तावेज़ (Tencent CAPTCHA के साथ कार्य करना)DocIconTencent Captcha (TenDI) क्या है और इसे कैसे हल करें?

TenDI (Tencent) CAPTCHA के बारे में अक्सर पूछे जाने वाले प्रश्न

TenDI विभिन्न जोखिम स्तरों और उपयोगकर्ता अनुभव आवश्यकताओं के अनुरूप कई challenge प्रकार प्रदान करता है।

  • Non-Perception — कम घर्षण वाली सत्यापन के लिए पृष्ठभूमि में चुपचाप चलता है।
  • Slider — मानक दृश्य जांच के लिए खींचकर-पूरा करें पहेली का उपयोग करता है।
  • Graphic — उपयोगकर्ता से विशिष्ट आकृतियों पर क्लिक करने को कहता है; उच्च जोखिम वाले ट्रैफ़िक के लिए उपयुक्त।
  • Audio — दृश्य challenge का सुलभ विकल्प प्रदान करता है।
  • Smart Verification — विश्वसनीय उपयोगकर्ताओं को चुपचाप पास होने देता है और केवल संदिग्ध सत्रों में challenge दिखाता है।

TenDI में Multi-dimensional Defense भी शामिल है — 10 पृष्ठभूमि सुरक्षा तंत्र जो बॉट प्रतिरोध बढ़ाते हैं। CapMonster Cloud के लिए, पृष्ठ पर दिखाए गए challenge की परवाह किए बिना हमेशा type: CustomTask और class: "TenDI" का उपयोग करें। अधिक API विवरण के लिए यहाँ देखें।

जब आपका क्लाइंट ticket और randstr लौटाता है, तो सर्वर को Tencent DescribeCaptchaResult API कॉल करके उन्हें सत्यापित करना चाहिए। ticket सत्यापित करने के लिए इन पैरामीटर के साथ हस्ताक्षरित API अनुरोध भेजें:

  • CaptchaType: 9
  • Ticket: क्लाइंट द्वारा लौटाया गया ticket
  • Randstr: क्लाइंट द्वारा लौटाया गया randstr
  • CaptchaAppId: आपका AppId
  • AppSecretKey: आपकी captcha गुप्त कुंजी
  • UserIp: उपयोगकर्ता का IP पता (अनुशंसित)

अनुरोध पर हस्ताक्षर करने के लिए सर्वर को Tencent Cloud API क्रेडेंशियल (SecretId और SecretKey) भी चाहिए।

प्रतिक्रिया में CaptchaCode मान जाँचें:

  • 0 या OK: captcha पास, ticket मान्य है
  • कोई अन्य मान: सत्यापन विफल, अनुरोध अस्वीकार किया जाना चाहिए
  • AppSecretKey को कभी भी frontend कोड में उजागर न करें।
  • सर्वर पर Tencent के एन्क्रिप्टेड CaptchaAppId फ़्लो का उपयोग करें। क्लाइंट को भेजने के लिए एन्क्रिप्टेड मान backend में जनरेट करें।
  • CAPTCHA हल होने के बाद, ticket और randstr को क्लाइंट से backend पर भेजकर DescribeCaptchaResult API से सत्यापित करें।
  • सभी रहस्य और सत्यापन तर्क backend पर रखें।

चरण-दर-चरण सेटअप के लिए, इस पृष्ठ के ऊपर TenDI (Tencent) CAPTCHA को अपनी साइट पर कैसे कनेक्ट करें देखें।

Tencent क्लाइंट-साइड इंटीग्रेशन फ़्लो में, TenDI वैकल्पिक aidEncrypted पैरामीटर का समर्थन करता है जो widget प्रारंभ में सादे CaptchaAppId को बदलता है।

aidEncrypted इस प्रकार जनरेट होता है: aidEncrypted = Base64(IV + ciphertext)

ciphertext आपके AppId, वर्तमान Unix टाइमस्टैम्प और ttl (सेकंड में समाप्ति समय) वाली स्ट्रिंग को एन्क्रिप्ट करने का परिणाम है। एन्क्रिप्शन PKCS7 पैडिंग के साथ AES-256-CBC का उपयोग करता है।

प्रत्येक अनुरोध के लिए यादृच्छिक 16-बाइट IV जनरेट होता है, जो एन्क्रिप्टेड आउटपुट से पहले जोड़ा जाता है।

अंतिम बाइनरी मान को widget में aidEncrypted के रूप में पास करने से पहले Base64-एन्कोड किया जाता है।

यदि Tencent CAPTCHA स्क्रिप्ट लोड या प्रारंभ नहीं होती, तो TenDI Disaster Recovery मोड अनुरोध को अवरुद्ध करने के बजाय उपयोगकर्ता फ़्लो जारी रखने देता है।

  • जब CAPTCHA JavaScript लोड या शुरू नहीं हो सकता, उदाहरण के लिए नेटवर्क या CDN समस्या के कारण, loadErrorCallback() कॉल करें।
  • यह trerror_<errorcode>_<CaptchaAppId>_<timestamp> प्रारूप में disaster-recovery ticket बनाता है।
  • ticket सामान्य callback फ़्लो के माध्यम से ret: 0 (सफलता) के साथ लौटाया जाता है।
  • सर्वर पर, ret: 0 को अकेले सामान्य सफलता न मानें। disaster recovery मोड का पता लगाने के लिए ticket उपसर्ग (trerror_) और errorCode = 1001 भी जाँचें।

इसे विश्वसनीय रूप से काम कराने के लिए, CAPTCHA स्क्रिप्ट लोड करने से पहले error handler परिभाषित करें और JS लोड त्रुटि पर उसे कॉल करें।