Scarnox · Blog

reCAPTCHA v2 कैसे काम करता है और इसे कैसे हल करें (जल्द आ रहा है)

reCAPTCHA v2 Google का क्लासिक कैप्चा है। इसमें "I'm not a robot" लिखा एक चेकबॉक्स दिखता है, और जब उसे विज़िटर पर शक होता है, तो वह एक इमेज चैलेंज भी जोड़ देता है। इसके लिए सॉल्वर को एक वैध response टोकन बनाना होता है, जिसे साइट Google के साथ सत्यापित कर सके। Scarnox पर reCAPTCHA v2 के लिए सपोर्ट जल्द आ रहा है। यह गाइड बताती है कि विजेट कैसे काम करता है, लोग आज कौन से सामान्य तरीके अपनाते हैं, और टोकन-आधारित सॉल्वर से क्या उम्मीद रखें।

Scarnox अभी reCAPTCHA v2 लाइव हल नहीं करता। आज एकमात्र लाइव टास्क टाइप PopularCaptcha, proxyless है। अगर आपके प्रोजेक्ट को अभी reCAPTCHA v2 चाहिए, तो नीचे दिए तरीके ही व्यावहारिक विकल्प हैं।

विजेट कैसे काम करता है

पेज में एक कंटेनर एलिमेंट लगा होता है जिसमें data-sitekey एट्रिब्यूट होता है। वह sitekey Google को साइट की पहचान बताती है। विजेट लोड होने पर ब्राउज़र में जांच चलाता है, विज़िटर के व्यवहार, कुकीज़ और इतिहास को देखता है, और एक जोखिम आकलन Google को भेजता है।

अगर आकलन कम जोखिम वाला है, तो चेकबॉक्स अपने आप टिक हो जाता है और विजेट g-recaptcha-response नाम के छिपे फ़ील्ड में एक टोकन लिख देता है। अगर आकलन ज़्यादा जोखिम वाला है, तो विज़िटर को इमेज चैलेंज दिखता है, जैसे किसी खास वस्तु वाली टाइलें चुनना। चैलेंज पास करने पर भी टोकन लिखा जाता है।

साइट का बैकएंड वह टोकन, साइट की secret key के साथ, Google के verification endpoint पर भेजता है। Google सफलता या विफलता लौटाता है। चूंकि सत्यापन सर्वर पर होता है, जो फॉर्म टोकन की जांच Google से किए बिना स्वीकार करता है, वह असल में reCAPTCHA से सुरक्षित नहीं है।

यह फ्लैग क्यों होता है

चेकबॉक्स एक जोखिम का फैसला है, कोई पहेली नहीं। आम ट्रिगर ये हैं:

इन ट्रिगरों को समझना विजेट से ज़्यादा ज़रूरी है। अगर आपका ट्रैफ़िक चेकबॉक्स को ट्रिगर नहीं करता, तो आपको इमेज चैलेंज कभी दिखेगा ही नहीं।

आज काम करने वाले सामान्य तरीके

ये तरीके बड़े पैमाने पर इस्तेमाल होते हैं, और ये ईमानदार तरीके हैं। ये वैध काम पर चैलेंज की आवृत्ति घटाते हैं।

  1. असली सत्र रखें। हर पेज पर नई शुरुआत करने के बजाय एक सत्र भर कुकीज़ और एक सुसंगत ब्राउज़र प्रोफ़ाइल दोबारा इस्तेमाल करें।
  2. रिक्वेस्ट की गति एक जैसी रखें। स्थिर, धीमी दर एक बार की बाढ़ से कहीं ज़्यादा इंसानी लगती है।
  3. विजेट के लिए असली ब्राउज़र इस्तेमाल करें। सामान्य सेटिंग्स वाला पूरा ब्राउज़र एक बेहद सरल headless सेटअप से कम फ़्लैग होता है। headless ब्राउज़र डिटेक्शन गाइड में आम सिग्नल दिए हैं।
  4. टेस्ट कुंजी या छूट मांगें। अगर साइट आपकी है, तो staging में Google की प्रकाशित टेस्ट कुंजियां इस्तेमाल करें। अगर नहीं है, तो मालिक से allowlist मांगें।
  5. बीच में एक इंसान रखें। कम मात्रा के कामों के लिए, एक इंसान चेकबॉक्स पूरा करके टोकन आगे दे सकता है। यह धीमा है, पर भरोसेमंद है।

ये तरीके यह गारंटी नहीं देते कि चैलेंज कभी नहीं आएगा। ये उसकी आवृत्ति घटाते हैं, और यही एक वैध काम को स्थिर रखता है।

टोकन-आधारित सॉल्वर क्या करेगा

reCAPTCHA v2 के लिए टोकन-आधारित सॉल्वर वही करता है जो आज PopularCaptcha करता है। वह sitekey और पेज URL लेता है, एक वैध g-recaptcha-response टोकन बनाता है, और उसे आपके कोड को लौटाता है। फिर आपका कोड टोकन को फॉर्म में लिखता है और उसकी समाप्ति से पहले सबमिट करता है।

reCAPTCHA v2 सपोर्ट आने पर Scarnox टास्क टाइप और किसी अतिरिक्त फ़ील्ड को API संदर्भ में लिखेगा। तब तक किसी कल्पित इंटरफ़ेस के लिए कोड न बनाएं। रिक्वेस्ट का आकार PopularCaptcha उदाहरण जैसा ही होगा, पर सटीक मानों के लिए डॉक्स देखें।

reCAPTCHA v2 जॉब की चेकलिस्ट

जब आप reCAPTCHA v2 वाले फॉर्म को छूने वाले काम की योजना बनाएं, तो ये बिंदु जांचें:

आम गलतियां

reCAPTCHA v2 इंटीग्रेशन की सबसे आम समस्या वह टोकन है जो सही दिखता है पर साइट उसे अस्वीकार करती है। इसके तीन कारण सबसे ज़्यादा होते हैं। पहला, sitekey और पेज URL का मेल न होना: टोकन उस पेज से बंधा होता है जहां विजेट दिखाया गया था, इसलिए एक पेज से लिया sitekey दूसरे पेज पर सबमिट करने पर विफल होगा। दूसरा, पुराना टोकन। टोकन अल्पकालिक होते हैं, इसलिए जो स्क्रिप्ट पहले सॉल्व करती है और फिर कई धीमे चरण चलाती है, वह समाप्त हो चुकी वैल्यू सबमिट करेगी। तीसरा, आपकी ओर से सर्वर-साइड जांच का न होना। अगर आपके अपने टेस्ट केवल यह पुष्टि करते हैं कि टोकन मौजूद है, तो आपको पता नहीं चलेगा कि सत्यापन चरण विफल हो रहा है।

विजेट के आसपास के वर्कफ़्लो से भी दूसरी तरह की गलतियां आती हैं। एक सत्र में लॉगिन करके दूसरे सत्र से फॉर्म सबमिट करना आम है, क्योंकि सत्यापन उस सत्र पर निर्भर हो सकता है जिसने विजेट लोड किया था। अस्वीकृत फॉर्म को लगातार कई बार रिट्राई करने से सत्र संदिग्ध दिख सकता है, और एक चैलेंज कई चैलेंजों की श्रृंखला बन सकता है। जब कुछ विफल हो, तो रुकें, पेज की स्थिति जांचें, और ताज़ा वैल्यू के साथ एक बार और कोशिश करें।

ज़िम्मेदारी से स्क्रैप करें

अगर फॉर्म किसी स्क्रैपिंग जॉब का हिस्सा है, तो शुरू करने से पहले robots.txt और साइट की शर्तें जांचें। दर कम रखें, और वह व्यक्तिगत डेटा इकट्ठा न करें जिसकी ज़रूरत नहीं। क्या वेब स्क्रैपिंग कानूनी है गाइड मुख्य बातें समझाती है।

अगले कदम