उपयोगकर्ता के जवाब की पुष्टि करना

इस पेज में आपके ऐप्लिकेशन के बैकएंड से, reCAPTCHA चुनौती के लिए किसी उपयोगकर्ता के जवाब की पुष्टि करने का तरीका बताया गया है.

वेब उपयोगकर्ताओं के लिए, आपको इन तीन में से किसी एक तरीके से उपयोगकर्ता का रिस्पॉन्स टोकन मिल सकता है:

  • जब उपयोगकर्ता आपकी साइट पर फ़ॉर्म सबमिट करता है, तब g-recaptcha-response पीओएसटी पैरामीटर
  • reCAPTCHA चैलेंज पूरा करने के बाद, उपयोगकर्ता को मिलने वाला grecaptcha.getResponse(opt_widget_id)
  • आपके कॉलबैक फ़ंक्शन में स्ट्रिंग आर्ग्युमेंट के तौर पर, अगर data-callback को g-recaptcha टैग एट्रिब्यूट या grecaptcha.render तरीके में कॉलबैक पैरामीटर में बताया गया हो

Android लाइब्रेरी का इस्तेमाल करने वालों के लिए, SafetyNetApi.RecaptchaTokenResult.getTokenResult() तरीके को कॉल किया जा सकता है. इससे स्टेटस के सही नतीजे मिलने पर रिस्पॉन्स टोकन मिलता है.

टोकन से जुड़ी पाबंदियां

reCAPTCHA के हर उपयोगकर्ता रिस्पॉन्स टोकन की पुष्टि दो मिनट के लिए की जाती है. साथ ही, हमलों को फिर से चलाने से रोकने के लिए, इनकी पुष्टि सिर्फ़ एक बार की जा सकती है. अगर आपको नए टोकन की ज़रूरत है, तो reCAPTCHA की पुष्टि फिर से करें.

रिस्पॉन्स टोकन मिलने के बाद, आपको दो मिनट के अंदर reCAPTCHA की मदद से इसकी पुष्टि करनी होगी. इसके लिए, नीचे दिए गए एपीआई का इस्तेमाल करें, ताकि यह पक्का किया जा सके कि टोकन मान्य है.

एपीआई अनुरोध

यूआरएल: https://www.google.com/re कैप्चा/api/siteverify METHOD: पीओएसटी

पीओएसटी पैरामीटर ब्यौरा
secret ज़रूरी है. यह आपकी साइट और reCAPTCHA के बीच शेयर की गई कुंजी है.
response ज़रूरी है. आपकी साइट पर reCAPTCHA क्लाइंट-साइड इंटिग्रेशन से मिला उपयोगकर्ता रिस्पॉन्स टोकन.
remoteip ज़रूरी नहीं. उपयोगकर्ता का आईपी पता.

एपीआई से मिला रिस्पॉन्स

रिस्पॉन्स, एक JSON ऑब्जेक्ट है:

{
  "success": true|false,
  "challenge_ts": timestamp,  // timestamp of the challenge load (ISO format yyyy-MM-dd'T'HH:mm:ssZZ)
  "hostname": string,         // the hostname of the site where the reCAPTCHA was solved
  "error-codes": [...]        // optional
}

reCAPTCHA Android के लिए:

{
  "success": true|false,
  "challenge_ts": timestamp,  // timestamp of the challenge load (ISO format yyyy-MM-dd'T'HH:mm:ssZZ)
  "apk_package_name": string, // the package name of the app where the reCAPTCHA was solved
  "error-codes": [...]        // optional
}

गड़बड़ी कोड का रेफ़रंस

गड़बड़ी का कोड ब्यौरा
missing-input-secret सीक्रेट पैरामीटर मौजूद नहीं है.
invalid-input-secret सीक्रेट पैरामीटर अमान्य या गलत है.
missing-input-response रिस्पॉन्स पैरामीटर मौजूद नहीं है.
invalid-input-response रिस्पॉन्स पैरामीटर अमान्य या गलत है.
bad-request अनुरोध अमान्य या गलत है.
timeout-or-duplicate जवाब अब मान्य नहीं है: या तो बहुत पुराना है या पहले ही इस्तेमाल किया जा चुका है.