এই পৃষ্ঠাটি ব্যাখ্যা করে যে কীভাবে আপনার অ্যাপ্লিকেশনের ব্যাকএন্ড থেকে একটি reCAPTCHA চ্যালেঞ্জে ব্যবহারকারীর প্রতিক্রিয়া যাচাই করতে হয়।
ওয়েব ব্যবহারকারীদের জন্য, আপনি তিনটি উপায়ের একটিতে ব্যবহারকারীর প্রতিক্রিয়া টোকেন পেতে পারেন:
-
g-recaptcha-responsePOST প্যারামিটার যখন ব্যবহারকারী আপনার সাইটে ফর্ম জমা দেয় - ব্যবহারকারী 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 | প্রতিক্রিয়াটি আর বৈধ নয়: হয় খুব পুরানো বা আগে ব্যবহার করা হয়েছে৷ |