تشرح هذه الصفحة كيفية التحقق من رد المستخدم على تحد reCAPTCHA من تطبيقك الخلفية.
بالنسبة إلى مستخدمي الويب، يمكنك الحصول على رمز أمان ردّ المستخدم بإحدى الطرق الثلاث التالية:
g-recaptcha-response
مَعلمة POST عندما يُرسِل المستخدِم النموذج على موقعك الإلكترونيgrecaptcha.getResponse(opt_widget_id)
بعد أن يُكمل المستخدم تحدّي reCAPTCHA- كوسيطة سلسلة لدالة رد الاتصال
إذا تم تحديد
data-callback
في سمة العلامةg-recaptcha
أو معلَمة معاودة الاتصال في طريقةgrecaptcha.render
بالنسبة إلى مستخدمي مكتبة Android، يمكنك استدعاء الأسلوب SafetyNetApi.RecaptchaTokenResult.getTokenResult() للحصول على الرمز المميّز للاستجابة إذا كانت الحالة تشير إلى نجاح العملية.
القيود المفروضة على الرموز المميّزة
يكون كل رمز مميَّز لاستجابة المستخدم في reCAPTCHA صالحًا لمدة دقيقتين، ولا يمكن التحقق منه إلا مرة ومنع هجمات إعادة التشغيل. إذا كنت بحاجة إلى رمز مميّز جديد، يمكنك إعادة إجراء اختبار التحقّق reCAPTCHA.
بعد الحصول على الرمز المميّز للردّ، يجب أن تتحقّق منه في غضون دقيقتَين باستخدام reCAPTCHA. واجهة برمجة التطبيقات التالية للتأكد من صلاحية الرمز.
طلب بيانات من واجهة برمجة التطبيقات
عنوان URL: https://www.google.com/recaptcha/api/siteverify
الطريقة: POST
مَعلمة POST | الوصف |
---|---|
secret |
مطلوب. المفتاح المشترَك بين موقعك الإلكتروني وreCAPTCHA |
response |
مطلوب. رمز مفتاح أمان استجابة المستخدم الذي يوفّره دمج reCAPTCHA من جهة العميل على موقعك الإلكتروني |
remoteip |
اختياريّ. عنوان IP للمستخدم. |
ردّ من واجهة برمجة التطبيقات
الاستجابة هي عنصر 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 |
لم يعُد الردّ صالحًا: إما أنّه قديم جدًا أو سبق استخدامه. |