ব্যবহারকারীর প্রতিক্রিয়া যাচাই করা হচ্ছে

এই পৃষ্ঠাটি ব্যাখ্যা করে যে কীভাবে আপনার অ্যাপ্লিকেশনের ব্যাকএন্ড থেকে একটি reCAPTCHA চ্যালেঞ্জে ব্যবহারকারীর প্রতিক্রিয়া যাচাই করতে হয়।

ওয়েব ব্যবহারকারীদের জন্য, আপনি তিনটি উপায়ের একটিতে ব্যবহারকারীর প্রতিক্রিয়া টোকেন পেতে পারেন:

  • g-recaptcha-response POST প্যারামিটার যখন ব্যবহারকারী আপনার সাইটে ফর্ম জমা দেয়
  • ব্যবহারকারী reCAPTCHA চ্যালেঞ্জ সম্পূর্ণ করার পরে grecaptcha.getResponse(opt_widget_id)
  • আপনার কলব্যাক ফাংশনের স্ট্রিং আর্গুমেন্ট হিসাবে যদি data-callback হয় g-recaptcha ট্যাগ অ্যাট্রিবিউটে বা grecaptcha.render পদ্ধতিতে কলব্যাক প্যারামিটারে নির্দিষ্ট করা থাকে

অ্যান্ড্রয়েড লাইব্রেরি ব্যবহারকারীদের জন্য, স্ট্যাটাস সফল হলে প্রতিক্রিয়া টোকেন পেতে আপনি SafetyNetApi.RecaptchaTokenResult.getTokenResult() পদ্ধতিতে কল করতে পারেন।

টোকেন সীমাবদ্ধতা

প্রতিটি reCAPTCHA ব্যবহারকারীর প্রতিক্রিয়া টোকেন দুই মিনিটের জন্য বৈধ, এবং রিপ্লে আক্রমণ প্রতিরোধ করার জন্য শুধুমাত্র একবার যাচাই করা যেতে পারে। আপনার যদি একটি নতুন টোকেনের প্রয়োজন হয়, আপনি reCAPTCHA যাচাইকরণ পুনরায় চালাতে পারেন৷

আপনি প্রতিক্রিয়া টোকেন পাওয়ার পরে, টোকেনটি বৈধ কিনা তা নিশ্চিত করতে আপনাকে নিম্নলিখিত API ব্যবহার করে reCAPTCHA দিয়ে দুই মিনিটের মধ্যে এটি যাচাই করতে হবে।

API অনুরোধ

URL: https://www.google.com/recaptcha/api/siteverify

পদ্ধতি: POST

POST প্যারামিটার বর্ণনা
secret প্রয়োজন। আপনার সাইট এবং reCAPTCHA এর মধ্যে শেয়ার করা কী।
response প্রয়োজন। আপনার সাইটে reCAPTCHA ক্লায়েন্ট-সাইড ইন্টিগ্রেশন দ্বারা প্রদত্ত ব্যবহারকারীর প্রতিক্রিয়া টোকেন।
remoteip ঐচ্ছিক। ব্যবহারকারীর আইপি ঠিকানা।

API প্রতিক্রিয়া

প্রতিক্রিয়া একটি 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 প্রতিক্রিয়াটি আর বৈধ নয়: হয় খুব পুরানো বা আগে ব্যবহার করা হয়েছে৷