DataDome CAPTCHA
और CapMonster Cloud

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

DataDome CAPTCHA समाधान की कीमतें

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

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

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

DataDome क्या है
DataDome क्या है
DataDome बॉट्स और स्वचालित हमलों से सुरक्षा प्रणाली है जो आगंतुकों के व्यवहार और नेटवर्क पैरामीटर का विश्लेषण करती है ताकि वास्तविक उपयोगकर्ताओं को हानिकारक ट्रैफ़िक से अलग किया जा सके और वेबसाइट या एप्लिकेशन की स्थिर कार्यप्रणाली सुनिश्चित की जा सके।
Background
DataDome CAPTCHA के उदाहरण
व्यवहार विश्लेषण
व्यवहार विश्लेषण
उपयोगकर्ता क्रियाओं का मूल्यांकन (क्लिक, स्क्रॉल, इंटरैक्शन गति)।
JavaScript जांच
JavaScript जांच
ब्राउज़र और इसके पर्यावरण की छिपी हुई जांच।
नेटवर्क जांच
नेटवर्क जांच
IP पते, हेडर, प्रॉक्सी और ज्ञात बॉट नेटवर्क का विश्लेषण।
Challenge
Challenge
CAPTCHA दिखाना (आमतौर पर एक स्लाइडर “पज़ल पूरा करने के लिए दाईं ओर स्लाइड करें”), यदि सिस्टम को संदेह हो।

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

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

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

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

// npx playwright install chromium

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

// अपनी CapMonster Cloud API कुंजी दर्ज करें
const API_KEY = 'YOUR_API_KEY';

// आपकी साइट DataDome द्वारा सुरक्षित है
const TARGET_URL = 'https://example.com/';

const USER_AGENT = Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Safari/537.36

// प्रॉक्सी सेटिंग
const proxy = {
  proxyType: "http",
  proxyAddress: '8.8.8.8',
  proxyPort: 8080,
  proxyLogin: 'proxyLogin',
  proxyPassword: 'proxyPassword'
};

async function main() {

  // ब्राउज़र लॉन्च करें
  const browser = await chromium.launch({ headless: true });
  const context = await browser.newContext({ userAgent: USER_AGENT });
  const page = await context.newPage();

  // साइट पर जाएं
  await page.goto(TARGET_URL, { waitUntil: 'networkidle' });

  // पहले से स्थापित datadome कुकी खोजें (यदि मौजूद है)
  const existingDd = (await context.cookies()).find(c => /datadome|dd_/i.test(c.name));

  // DataDome iframe खोजें -> CAPTCHA URL
  const captchaUrl = await page.evaluate(() =>
    Array.from(document.querySelectorAll('iframe[src]'))
      .find(i => /captcha-delivery\.com\/captcha/i.test(i.src))
      ?.src || null
  );

  console.log(`=== निकाले गए DataDome पैरामीटर ===`);
  console.log(`captchaUrl:`, captchaUrl || 'नहीं मिला');
  console.log(`वर्तमान datadome कुकी::`, existingDd ? ${existingDd.name}=${existingDd.value}` : 'कोई नहीं');

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

  // CapMonster में टास्क भेजें
  console.log(`CapMonster में DataDome टास्क भेज रहे हैं......`);

  // DataDome समाधान के लिए टास्क भेजना
  const solve = await cm.Solve(new DataDomeRequest({
    _class: "DataDome",
    websiteURL: TARGET_URL,
    userAgent: USER_AGENT,
    proxy,
    metadata: {
      captchaUrl: captchaUrl || undefined,
      datadomeCookie: existingDd
        ? `${existingDd.name}=${existingDd.value}`
        : undefined
    }
  }));

  const sol = solve?.solution;

  // सॉल्यूशन से डोमेन और आवश्यक कुकी प्राप्त करें
  const host = new URL(TARGET_URL).hostname;
  const domainKey =
    Object.keys(sol.domains).find(d => d.includes(host))
    || Object.keys(sol.domains)[0];

  const cookiesArr = sol.domains[domainKey]?.cookies || [];

  console.log(`\n=== CapMonster कुकीज़ ===`);
  cookiesArr.forEach(c => console.log(`${c.name}=${c.value}`));

  const ddSolved =
    cookiesArr.find(c => c.name?.toLowerCase() === 'datadome')
    || cookiesArr.find(c => /datadome/i.test(c.name));

  // ब्राउज़र में datadome कुकी सेट करें
  await context.addCookies([{
    name: 'datadome',
    value: ddSolved.value,
    domain: '.' + host,
    path: '/',
    httpOnly: ddSolved.httpOnly ?? true,
    secure: ddSolved.secure ?? true,
    sameSite: ddSolved.sameSite ?? 'Lax'
  }]);

  console.log(`datadome कुकी सेट की गई:`, ddSolved.value);

  // कुकी डालने के बाद साइट फिर से खोलें
  const page2 = await context.newPage();
  const resp2 = await page2.goto(TARGET_URL, { waitUntil: 'domcontentloaded', timeout: 60000 });

  console.log(`कुकी सेट करने के बाद स्थिति:: ${resp2?.status()}`);

  await browser.close();
}

main();
  
कैसे अपने साइट पर DataDome CAPTCHA जोड़ें
आपकी साइट पर CAPTCHA का सही ढंग से उपयोग करने, इसके सत्यापन लॉजिक को समझने, इसे दोबारा जोड़ने या री-कॉन्फ़िगर करने के लिए, हम इस सेक्शन का अध्ययन करने की सलाह देते हैं। यह सुरक्षा एकीकरण प्रक्रिया को समझने में मदद करता है।

1. अपने अकाउंट में लॉगिन करें या रजिस्टर करें और client-side और server-side keys प्राप्त करें।

महत्वपूर्ण: रजिस्ट्रेशन के लिए आपकी कंपनी का कॉर्पोरेट ईमेल आवश्यक है।

रजिस्ट्रेशन के बाद, आप एडमिन पैनल में पहुंचेंगे।

2. पैनल में साइट (डोमेन) जोड़ें।

अपने डोमेन को सिस्टम में जोड़ें और सुरक्षा पैरामीटर चुनें:

  • वेब सुरक्षा (HTTP ट्रैफ़िक सुरक्षा)
  • Bot detection & mitigation
  • Frequency & behavior analysis
  • Challenge पृष्ठ (DataDome challenge page)
  • JS tag configuration

3. सर्वर-साइड इंटीग्रेशन स्थापित करें।

Protection API का उपयोग करें या अपने स्टैक (Node.js / Express, Nginx, Cloudflare, Java (Tomcat/Jetty/Vert.x), Go आदि) के लिए रेडी-मेड मॉड्यूल चुनें।

DataDome का आधिकारिक SDK/middleware इंस्टॉल करें और सर्वर की key सेट करें।

Node.js में DataDome इंटीग्रेशन का उदाहरण:

DataDome सर्वर को बॉट्स और संदिग्ध अनुरोधों से सुरक्षित करता है, आवश्यक होने पर challenge दिखाता है। Express या Node.js HTTP server के साथ उपयोग किया जा सकता है।

इंस्टॉलेशन

Express के लिए:

npm install @datadome/module-express

Node.js HTTP मॉड्यूल के लिए:

npm install @datadome/module-http

Node.js संस्करण 18 या उससे ऊपर समर्थित हैं। DataDome पैनल से server-side key आवश्यक है।

Express के साथ इंटीग्रेशनExpress के साथ इंटीग्रेशन
arrow
Node.js HTTP सर्वर के साथ इंटीग्रेशनNode.js HTTP सर्वर के साथ इंटीग्रेशन
arrow

मॉड्यूल सेटिंग्स

क्लाइंट बनाते समय कॉन्फ़िगरेशन पास कर सकते हैं:


const datadomeClient = new DatadomeExpress('YOUR_SERVER_KEY', {
  timeout: 150, // timeout (ms) जिसके बाद अनुरोध स्वीकार किया जाए
  urlPatternInclusion: null, // कौन-सी URLs जाँचें
  urlPatternExclusion: /\.(avi|flv|mka|mkv|mov|mp4|mpeg|mpg|mp3|flac|ogg|ogm|opus|wav|webm|webp|bmp|gif|ico|jpeg|jpg|png|svg|svgz|swf|eot|otf|ttf|woff|woff2|css|less|js|map|json|avif|xml|gz|zip)$/i,
  endpointHost: 'api.datadome.co',
});

उन्नत विकल्प:

  • DataDome हेडर लॉगिंग (enrichedHeaders)
  • CSP nonce: app.use(datadomeClient.middleware({ nonce: 'VALUE' }))
  • handlers के माध्यम से अनुरोध मेटाडेटा ओवरराइड करें

HelpIcon

सर्वर-साइड इंटीग्रेशन के लिए अधिक जानकारी आधिकारिक डॉक्यूमेंटेशन में।

4. क्लाइंट-साइड इंटीग्रेशन करें।

JS Tag अपने साइट के <head> में डालें:


<head>
  <script>
    window.ddjskey = 'YOUR_DATADOME_JS_KEY';
    window.ddoptions = {
      // यहाँ अपनी सेटिंग डालें (वैकल्पिक)
    };
  </script>
  <script src="https://js.datadome.co/tags.js" async></script>
  <!-- अन्य head एलिमेंट्स -->
</head>

YOUR_DATADOME_JS_KEY → अपने Client-Side key से बदलें

स्क्रिप्ट को <head> के प्रारंभ में लोड करें ताकि DataDome अनुरोधों को सही ढंग से ट्रैक कर सके।

यदि साइट CSP का उपयोग करती है, तो निम्न निर्देश जोड़ें:

Inline स्क्रिप्ट के लिएInline स्क्रिप्ट के लिए
arrow
External स्क्रिप्ट लोड करने के लिएExternal स्क्रिप्ट लोड करने के लिए
arrow

HelpIcon

क्लाइंट-साइड इंटीग्रेशन का अधिक विवरण DataDome CAPTCHA आधिकारिक डॉक्यूमेंटेशन में।

परिणाम जांच

सफलतापूर्वक सत्यापन के बाद DataDome datadome= कुकी बनाता है। यह कुकी उपयोगकर्ता द्वारा स्वचालित रूप से भेजी जाती है — और सर्वर अनुरोध को स्वीकार कर लेता है। यदि कुकी नहीं है या अवैध है, तो DataDome फिर से चुनौती दिखाएगा।

Background
संभावित त्रुटियाँ और डिबगिंग
Bug Icon
अमान्य कुंजी या डोमेन
DataDome साइट को सही ढंग से सुरक्षित नहीं करता; challenge नहीं दिखता। सुनिश्चित करें कि सही Server-Side Key का उपयोग हो और डोमेन DataDome पैनल में जोड़ा गया हो।
Bug Icon
अनुरोध प्रोसेसिंग टाइमआउट
सर्वर ने DataDome API से उत्तर का इंतजार नहीं किया। मॉड्यूल सेटिंग्स में timeout मान बढ़ाएँ।
Bug Icon
खाली टोकन या अमान्य पैरामीटर
सर्वर पर सत्यापन परिणाम भेजने में त्रुटि। सुनिश्चित करें कि क्लाइंट JS Tag सही ढंग से इंस्टॉल किया गया है और ddtoken लौटाता है।
Bug Icon
Challenge पास नहीं हुआ
अनुरोध को संदिग्ध के रूप में चिह्नित किया गया है या टोकन समाप्त हो गया है। डायग्नोस्टिक्स के लिए मॉड्यूल के logger पैरामीटर के माध्यम से लॉगिंग सक्षम करें और blocked और valid इवेंट ट्रैक करें।
सुरक्षा की मजबूती की जाँच
सुरक्षा और अनुकूलन के सुझाव
<span class="font-bold">Server-Side Key</span> केवल सर्वर पर रखें; इसे क्लाइंट को न भेजें।
बाधाओं के कारणों को ट्रैक करने के लिए <span class="font-bold">logger</span> या <span class="font-bold">blocked/valid</span> लिस्नर्स के माध्यम से इवेंट लॉगिंग सक्षम करें।
फॉर्म पृष्ठों पर <span class="font-bold">गोपनीयता नीति</span> और <span class="font-bold">DataDome उपयोग की शर्तें</span> के लिंक रखें, जैसा कि उपयोगकर्ता पारदर्शिता के लिए अनुशंसित है।
निष्कर्ष

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

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

Conclusion
उपयोगी लिंक
DocIconDataDome CAPTCHA डॉक्यूमेंटेशनDocIconCapMonster Cloud डॉक्यूमेंटेशन (DataDome CAPTCHA के साथ काम करना)

DataDome के बारे में अक्सर पूछे जाने वाले प्रश्न

सबसे स्पष्ट संकेतक सर्वर प्रतिक्रियाओं में datadome cookie है:

  1. ब्राउज़र (Chrome, Firefox) में DataDome-सुरक्षित साइट खोलें।
  2. F12 दबाएँ (डेव टूल्स) → Application टैब → Cookies पर जाएँ।
  3. साइट का डोमेन खोजें (उदा. www.example.com)।
  4. cookies में datadome कुंजी खोजें

आप यह भी जांच सकते हैं कि क्या साइट के अनुरोधों में डेव टूल्स → Network टैब में geo.captcha-delivery.com के कॉल शामिल हैं; वह endpoint DataDome के challenge डिलीवरी इन्फ्रास्ट्रक्चर का हिस्सा है।

आधिकारिक पैकेज इंस्टॉल करें:

npm install @datadome/module-express

क्लाइंट इम्पोर्ट और इनिशियलाइज़ करें:

const { DatadomeExpress } = require('@datadome/module-express')

फिर

new DatadomeExpress('YOUR_SERVER_SIDE_KEY')

middleware कनेक्ट करें:

app.use(datadomeClient.middleware())

अधिकांश मामलों में middleware को सुरक्षित routes से पहले रजिस्टर किया जाना चाहिए ताकि अनुरोध आपके route handlers तक पहुँचने से पहले विश्लेषित किए जा सकें। अपने एप्लिकेशन संरचना के आधार पर, आप middleware को विशिष्ट routes या route समूहों पर चयनात्मक रूप से भी लागू कर सकते हैं।

न्यूनतम सेटअप के रूप में इस उदाहरण का उपयोग करें:

const { DatadomeExpress } = require('@datadome/module-express');
const express = require('express');
const app = express();

// Initialize DataDome client
const datadomeClient = new DatadomeExpress('YOUR_SERVER_KEY');

// Connect middleware
app.use(datadomeClient.middleware());

// Your routes
app.get('/', (req, res) => {
  res.send('Hello World');
});

// Start server
app.listen(3000, () => {
  console.log('Server running on port 3000');
})

आधिकारिक मॉड्यूल उन्नत एकीकरण के लिए अतिरिक्त कॉन्फ़िगरेशन और अनुकूलन विकल्प भी सपोर्ट करता है।

सर्वर-साइड एकीकरण के बारे में अधिक जानकारी आधिकारिक दस्तावेज़ में देखें।

यह जांचने के लिए कि DataDome सही ढंग से सेट अप है, ये तीन परीक्षण आज़माएँ:

  1. DataDome JS Tag के बिना सुरक्षित पेज पर जाएँ। यदि एकीकरण अपेक्षा के अनुसार काम करता है, तो आपको CAPTCHA challenge मिलना चाहिए।
  2. k6 या JMeter जैसे टूल्स से स्वचालित ट्रैफ़िक सिम्युलेट करें। DataDome को इस गतिविधि का पता लगाना चाहिए और challenge के साथ प्रतिक्रिया देनी चाहिए।
  3. किसी अन्य IP पते से हल की गई datadome cookie का पुन: उपयोग करें। यह काम नहीं करना चाहिए, और DataDome को नया CAPTCHA challenge दिखाना चाहिए।

यदि DataDome हल करना विफल हो जाता है, तो ये सबसे आम कारण हैं:

  • ERROR_CAPTCHA_UNSOLVABLE: createTask पैरामीटर गलत हैं। आपका proxy DataDome CAPTCHA द्वारा ब्लॉक हो सकता है। अनुरोध के लिए उपयोग किए जाने वाले proxy सर्वर को बदलें। अनुरोध में भेजे गए पैरामीटर की दोबारा जाँच करें। यदि त्रुटि दोहराती है, तो सपोर्ट से संपर्क करें और प्रदान करें: taskId, टास्क प्रकार (type), मूल छवि या इनपुट डेटा, टास्क की तिथि/समय और अनुरोध बॉडी।
  • ERROR_KEY_DOES_NOT_EXIST: आपका clientKey गलत या निष्क्रिय है। अपने CapMonster Cloud खाते में कुंजी जाँचें।
  • ERROR_PROXY_READ_TIMEOUT: proxy बहुत धीमा या अविश्वसनीय है। दूसरा proxy आज़माएँ। यह त्रुटि createTask अनुरोध में गलत metadata.captchaUrl के कारण भी हो सकती है। captcha लिंक की दोबारा जाँच करें।
  • सेवा से प्राप्त cookies लक्ष्य साइट पर काम नहीं करते: हल करने का अनुरोध और अंतिम अनुरोध अलग-अलग IP से भेजे गए थे। दोनों के लिए एक ही IP का उपयोग करें। cookie सेटअप की शुद्धता भी जाँचें; सुनिश्चित करें कि लौटाई गई datadome cookie आपके ब्राउज़र या अनुरोध हेडर में सही ढंग से सेट है।

HTTP अनुरोधों के लिए, सुरक्षित डोमेन पर प्रत्येक बाद के अनुरोध में हल किए गए मान को Cookie अनुरोध हेडर में datadome=<value> के रूप में शामिल करें।

Puppeteer, Selenium या Playwright जैसे ब्राउज़र ऑटोमेशन टूल्स में, सुरक्षित पेज खोलने से पहले फ्रेमवर्क की अंतर्निहित cookie विधि का उपयोग करके datadome cookie जोड़ें।

उदाहरण के लिए:

  • Playwright में context.addCookies() का उपयोग करें।
  • Puppeteer में page.setCookie() का उपयोग करें।
  • Selenium में driver.add_cookie() का उपयोग करें।

सुनिश्चित करें कि cookie सही डोमेन और पथ के लिए सेट है। ब्राउज़र इसे सामान्य सत्र cookie की तरह संभाले, इसके लिए इन विधियों का httpOnly: true, secure: true और sameSite: 'Lax' के साथ भी उपयोग करें।