Cloudflare Challenge
और CapMonster Cloud

कैप्चा हल करना, वेबसाइट पर इंस्टॉलेशन और परीक्षण।

Cloudflare Challenge समाधान की कीमतें

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

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

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

Cloudflare Challenge क्या है
Cloudflare Challenge क्या है
Cloudflare Challenge (या Interstitial Challenge Pages) Cloudflare की एक सत्यापन प्रणाली है, जो वेबसाइटों को बोट्स, स्पैम और हानिकारक ट्रैफिक से सुरक्षा प्रदान करती है। जब Cloudflare को संदेह होता है कि अनुरोध वास्तविक विज़िटर से नहीं है (जैसे संदिग्ध IP या JavaScript की अनुपस्थिति), तो यह Challenge दिखाता है — यानी एक 'टेस्ट' जिसे पार करना आवश्यक है ताकि यह पुष्टि हो सके कि आप इंसान हैं। यह प्रकार Turnstile से अलग है क्योंकि उपयोगकर्ता पहले एक इंटरस्टीशियल पेज देखते हैं जिसमें संदेश “Just a moment…” और “Verifying you are human. This may take a few seconds.” होता है।

CapMonster Cloud के माध्यम से Cloudflare Challenge कैसे हल करें

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

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

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

  // npm install playwright @zennolab_com/capmonstercloud-client
// npx playwright install chromium

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

// सेटिंग्स — अपने मान से बदलें
const API_KEY = 'YOUR_API_KEY';
const TARGET_URL = 'https://www.example.com';
const SITE_KEY = 'xxxxx'; // कोई भी स्ट्रिंग पास की जा सकती है
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 cmcClient = CapMonsterCloudClientFactory.Create(
    new ClientOptions({ clientKey: API_KEY })
  );

  // ब्राउज़र लॉन्च करें
  const browser = await chromium.launch({
    headless: false,
    proxy: proxy.proxyAddress ? {
      server: `${proxy.proxyType}://${proxy.proxyAddress}:${proxy.proxyPort}`,
      username: proxy.proxyLogin,
      password: proxy.proxyPassword
    } : undefined
  });

  // आवश्यक User-Agent और विंडो साइज के साथ कॉन्टेक्स्ट बनाएं (वैकल्पिक)
  const context = await browser.newContext({ userAgent: USER_AGENT, viewport: { width: 1280, height: 800 } });

  // पेज बनाएं और लक्ष्य URL लोड करें
  const page = await context.newPage();
  const resp = await page.goto(TARGET_URL, { waitUntil: 'domcontentloaded', timeout: 60000 });
  console.log('प्रारंभिक अनुरोध की स्थिति:', resp?.status());

  // पेज HTML प्राप्त करें और CapMonster के लिए Base64 में बदलें
  const htmlBase64 = Buffer.from(await page.content(), 'utf-8').toString('base64');

  // cf_clearance प्राप्त करने के लिए Turnstile टास्क बनाएं
  const solveResult = await cmcClient.Solve(new TurnstileRequest({
    websiteURL: TARGET_URL,
    websiteKey: SITE_KEY,
    cloudflareTaskType: 'cf_clearance',
    htmlPageBase64: htmlBase64,
    userAgent: USER_AGENT,
    proxy: proxy.proxyAddress ? proxy : undefined
  }));

  const cf_clearance = solveResult?.solution?.cf_clearance;
  if (!cf_clearance) {
    console.error('CapMonster से cf_clearance प्राप्त नहीं हो सका:', solveResult);
    await browser.close();
    return;
  }
  console.log('cf_clearance प्राप्त हुआ:', cf_clearance);

  // cf_clearance कुकी को ब्राउज़र कॉन्टेक्स्ट में जोड़ें
  await context.addCookies([{
    name: 'cf_clearance',
    value: cf_clearance,
    domain: '.' + new URL(TARGET_URL).hostname,
    path: '/',
    httpOnly: true,
    secure: true
  }]);
  console.log('cf_clearance कुकी ब्राउज़र में सफलतापूर्वक जोड़ी गई।');

  // cf_clearance के साथ पेज को फिर से खोलें
  const page2 = await context.newPage();
  const resp2 = await page2.goto(TARGET_URL, { waitUntil: 'domcontentloaded', timeout: 60000 });
  console.log('cf_clearance सेट करने के बाद अनुरोध की स्थिति:', resp2?.status());

  await browser.close();
  console.log('स्क्रिप्ट समाप्त हो गई।');
}

main().catch(err => {
  console.error('त्रुटि हुई:', err);
  process.exit(1);
});
  
अपने साइट पर Cloudflare Challenge कैसे कनेक्ट करें
अपने साइट पर कैप्चा के काम करने के तरीके, उसकी जांच की लॉजिक और इसे फिर से कनेक्ट या री-कॉन्फ़िगर करने के लिए यह अनुभाग पढ़ें। इसमें सुरक्षा सेटअप की प्रक्रिया समझाई गई है, जिससे आप सभी विवरण जल्दी समझ सकते हैं।
1. रजिस्टर करें या लॉगिन करें और अपने डोमेन को Cloudflare से कनेक्ट करें।
2. WAF Rule के माध्यम से Challenge सक्रिय करें।
जाएँ: Security → Custom Rules → Create rule
HowTo Connect image 1

उदाहरण शर्त (पूरे login पेज की जाँच करें):
http.request.uri.path contains "/login"
3. क्रिया चुनें:
Managed Challenge (अनुशंसित) — सिस्टम स्वचालित रूप से तय करता है कि Challenge दिखाना है या नहीं और कौन सा।
अन्य आवश्यक सेटिंग्स करें और Deploy पर क्लिक करें।
सत्यापन के बाद, उपयोगकर्ता को cf_clearance कुकी दी जाएगी, जो उसी डिवाइस और ब्राउज़र से दोबारा आने पर Challenge नहीं दिखाने में मदद करेगी।
Background
संभावित त्रुटियाँ और डिबगिंग
Bug Icon
गलत डोमेन या नियम कॉन्फ़िगरेशन
Challenge प्रदर्शित नहीं हो रहा है। जांचें कि WAF नियम सही URI, पथ या होस्ट पर लागू है।
Bug Icon
पेज या Challenge लोड का टाइमआउट
ब्राउज़र या क्लाइंट ने Cloudflare की प्रतिक्रिया का इंतजार नहीं किया। परीक्षणों और मॉनिटरिंग में टाइमआउट बढ़ाएँ।
Bug Icon
दोबारा जांच या cf_clearance की अवधि समाप्त
यदि विज़िटर पहले से समाप्त cf_clearance का उपयोग करता है, तो सिस्टम फिर से Challenge दिखाएगा।
Bug Icon
Challenge के बाद दूसरी जांच होती है
Challenge + कस्टम नियमों का एक साथ उपयोग चक्रीय जांच का कारण बन सकता है। इसे हल करने के लिए Cloudflare सिफारिशों का पालन करें।
सुरक्षा की मजबूती की जाँच
सुरक्षा और अनुकूलन के सुझाव
जोखिम स्तर के अनुसार WAF नियम और Managed/JS/Interactive Challenge कॉन्फ़िगर करें।
सुरक्षा घटनाओं और Challenge पारित होने की स्थिति लॉग करें ताकि ब्लॉकों के कारण समझ में आएं और गलत पॉजिटिव की पहचान हो।
पारदर्शिता और अनुपालन के लिए, Challenge वाले पेजों पर Cloudflare/साइट की <span class="font-bold">गोपनीयता नीति</span> और <span class="font-bold">उपयोग की शर्तें</span> के लिंक जोड़ें।
निष्कर्ष

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

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

Conclusion

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

Cloudflare cf_clearance कुकी का उपयोग उस क्लाइंट को पहचानने के लिए करता है जिसने पहले ही सत्यापन पास कर लिया है। CapMonster Cloud API इसे getTaskResult प्रतिक्रिया में लौटाता है।

कच्चे HTTP अनुरोधों के लिए: लक्ष्य वेबसाइट पर बाद के अनुरोधों में Cookie: cf_clearance=<value> हेडर में भेजें।

ब्राउज़र स्वचालन के लिए: Cloudflare «Just a moment» पृष्ठ को हल करने के लिए Playwright, Selenium, Puppeteer या किसी अन्य headless ब्राउज़र के साथ संरक्षित URL को पुनः लोड करने से पहले इसे ब्राउज़र संदर्भ में इंजेक्ट करें।

यदि cf_clearance कुकी अब मान्य नहीं है, तो Cloudflare संरक्षित सामग्री तक पहुँच देने के बजाय challenge फिर से दिखा सकता है। ऐसे में:

  1. challenge प्रतिक्रिया से नए htmlPageBase64 (403 प्रतिक्रिया के साथ दिखाया गया Base64-एन्कोडेड «Just a moment» HTML पृष्ठ) का उपयोग करके नया createTask अनुरोध बनाएँ
  2. नया cf_clearance मान प्राप्त करें।
  3. नई cf_clearance कुकी के साथ लक्ष्य साइट पर अनुरोध पुनः प्रयास करें।

Turnstile आमतौर पर पृष्ठ या फ़ॉर्म प्रवाह में विजेट एम्बेड करता है, जबकि Cloudflare Bot Challenge लक्ष्य साइट लोड होने से पहले अलग इंटरस्टिशियल पृष्ठ के साथ अनुरोध को रोकता है।

Cloudflare Challenge के लिए, CapMonster Cloud दो परिणाम मोड का समर्थन करता है: यह या तो टोकन या cf_clearance कुकी लौटा सकता है।

  • यदि आप टोकन-आधारित विकल्प का उपयोग करते हैं, तो कार्य CapMonster Cloud प्रॉक्सी के साथ हल किया जा सकता है। कुछ विशिष्ट मामलों में, आप अपना प्रॉक्सी भी उपयोग कर सकते हैं।
  • यदि परिणाम में cf_clearance कुकी की आवश्यकता है, तो कार्य बनाते समय आपको अपना प्रॉक्सी उपयोग करना होगा।

प्रॉक्सी उपयोग विवरण के लिए, कार्य दस्तावेज़ देखें।

CapMonster Cloud Python, JavaScript/Node.js और C# के लिए तैयार लाइब्रेरी प्रदान करता है। प्रत्येक लाइब्रेरी पूर्ण अनुरोध चक्र को कवर करती है, जिसमें समाधान कार्य बनाना, परिणाम की पोलिंग शामिल है, और challenge हल होने पर टोकन या cf_clearance कुकी लौटाती है।