بدء استخدام ميزة "التحقّق من التطبيقات" مع reCAPTCHA Enterprise في تطبيقات الويب

توضّح لك هذه الصفحة كيفية تفعيل App Check في تطبيق ويب باستخدام موفّر reCAPTCHA Enterprise. عند تفعيل App Check، تساعد في ضمان عدم تمكّن أي تطبيق آخر من الوصول إلى موارد الخلفية الخاصة بمشروعك. يمكنك الاطّلاع على نظرة عامة حول هذه الميزة.

يُرجى العِلم أنّ App Check تستخدم مفاتيح المواقع الإلكترونية المستندة إلى النتائج في reCAPTCHA Enterprise، ما يجعلها غير مرئية للمستخدمين. لن يطلب موفّر reCAPTCHA Enterprise من المستخدمين حلّ اختبار في أي وقت.

إذا كانت حالة الاستخدام تتطلّب ميزات reCAPTCHA Enterprise غير المضمّنة في App Check، أو إذا كنت تريد استخدام App Check مع موفّر مخصّص، راجِع تنفيذ موفّر App Check مخصّص.

1. إعداد مشروعك على Firebase

  1. أضِف Firebase إلى مشروع JavaScript إذا لم يسبق لك إجراء ذلك.

  2. افتح قسم reCAPTCHA Enterprise في Cloud Console ونفِّذ ما يلي:

    1. إذا طُلب منك تفعيل reCAPTCHA Enterprise API، عليك إجراء ذلك.
    2. أنشئ مفتاحًا من نوع موقع إلكتروني. عليك تحديد النطاقات التي تستضيف عليها تطبيقك على الويب، مع إبقاء خيار "استخدام تحدّي مربّع الاختيار" غير محدّد.
  3. سجِّل تطبيقاتك لاستخدام App Check مع مزوّد خدمة reCAPTCHA Enterprise في قسم App Check ضمن وحدة تحكّم Firebase. عليك تقديم مفتاح الموقع الذي حصلت عليه في الخطوة السابقة.

    عليك عادةً تسجيل جميع تطبيقات مشروعك، لأنّه بعد تفعيل فرض القيود على أحد منتجات Firebase، لن تتمكّن سوى التطبيقات المسجّلة من الوصول إلى موارد الخلفية الخاصة بالمنتج.

  4. اختياري: في إعدادات تسجيل التطبيق، اضبط مدة بقاء (TTL) مخصّصة لرموز App Check المميزة الصادرة عن مقدّم الخدمة. يمكنك ضبط قيمة TTL على أي قيمة تتراوح بين 30 دقيقة و7 أيام. عند تغيير هذه القيمة، يجب الانتباه إلى المفاضلات التالية:

    • الأمان: توفّر قيم TTL الأقصر مستوى أمان أعلى، لأنّها تقلّل من الفترة الزمنية التي يمكن للمهاجم إساءة استخدام الرمز المميز المسروق أو الذي تم اعتراضه خلالها.
    • الأداء: يعني استخدام مدة بقاء (TTL) أقصر أنّ تطبيقك سيجري عملية التصديق بشكل متكرّر أكثر. بما أنّ عملية إثبات صحة التطبيق تضيف وقت استجابة إلى طلبات الشبكة في كل مرة يتم تنفيذها، يمكن أن تؤثّر مدة البقاء القصيرة في أداء تطبيقك.
    • الحصة والتكلفة: تؤدي قيم TTL الأقصر وعمليات إعادة التصديق المتكررة إلى استنفاد حصتك بشكل أسرع، وقد تؤدي إلى زيادة التكلفة بالنسبة إلى الخدمات المدفوعة. الحصص والحدود

    تُعد مدة البقاء التلقائية البالغة ساعة واحدة مناسبة لمعظم التطبيقات. يُرجى العِلم أنّ مكتبة App Check تعيد تحميل الرموز المميزة بعد نصف مدة بقاء (TTL) تقريبًا.

ضبط الإعدادات المتقدّمة (اختياري)

عندما يزور أحد المستخدمين تطبيقك على الويب، تقيِّم خدمة reCAPTCHA Enterprise مستوى المخاطر التي يشكّلها تفاعل المستخدم، وتعرض نتيجة تتراوح بين 0.0 و1.0، بزيادات قدرها 0.1. تشير النتيجة 1.0 إلى أنّ التفاعل ينطوي على مخاطر منخفضة ومن المرجّح جدًا أن يكون مشروعًا، بينما تشير النتيجة 0.0 إلى أنّ التفاعل ينطوي على مخاطر عالية وقد يكون احتياليًا. تتيح لك App Check ضبط حدّ لمخاطر التطبيقات، ما يتيح لك تعديل مستوى تحمّلك لهذه المخاطر.

بالنسبة إلى معظم حالات الاستخدام، يُنصح بقيمة الحدّ التلقائية البالغة 0.5. إذا كانت حالة الاستخدام تتطلّب تعديلاً، يمكن ضبطها في قسم App Check ضمن وحدة تحكّم Firebase لكل تطبيق من تطبيقات الويب.

التفاصيل

تستخدم App Check الحد الأدنى لمستوى المخاطرة في التطبيق الذي تم ضبطه كحد أدنى لنتيجة reCAPTCHA Enterprise المطلوبة لاعتبار تفاعل المستخدم مشروعًا. سيتم رفض جميع نتائج reCAPTCHA Enterprise التي تقل عن الحدّ الذي تم ضبطه. عند تعديل حدّ خطورة التطبيق، يجب الانتباه إلى ما يلي:

  • من بين 11 مستوى ممكنًا لنتائج reCAPTCHA Enterprise، تتوفّر مستويات النتائج الأربعة التالية فقط قبل إضافة حساب فوترة على Google Cloud إلى مشروعك: 0.1 و0.3 و0.7 و0.9. خلال هذه الفترة، لن تسمح App Check إلا بقيم حد مخاطر التطبيق البالغة 0.1 و0.3 و0.5 و0.7 و0.9. لا يزال يُنصح باستخدام قيمة الحدّ الأدنى لمستوى خطورة التطبيق البالغة 0.5 في معظم حالات الاستخدام.

    • لتفعيل جميع مستويات النتائج الـ 11 في reCAPTCHA Enterprise، أضِف حساب فوترة على Google Cloud إلى مشروعك. يمكنك إجراء ذلك من خلال الترقية إلى خطة أسعار Blaze. بعد ذلك، ستتيح لك App Check ضبط أي قيم لحدود مخاطر التطبيقات تتراوح بين 0.0 و1.0، بزيادات قدرها 0.1.

  • لتتبُّع توزيع نقاط reCAPTCHA Enterprise المرتفعة والمنخفضة لتطبيقك على الويب، انتقِل إلى صفحة reCAPTCHA Enterprise في وحدة تحكّم Google Cloud واختَر مفتاح الموقع الإلكتروني الذي يستخدمه تطبيقك على الويب.

  • إذا كانت درجة تحمّلك لمخاطر التطبيقات منخفضة، حرِّك شريط التمرير إلى اليمين لزيادة الحد الأدنى لمستوى خطورة التطبيقات.

    • لا يُنصح باستخدام القيمة 1.0، لأنّ هذا الإعداد يمكن أن يؤدي أيضًا إلى حظر وصول المستخدمين الشرعيين الذين لا يستوفون الحدّ الأعلى المرتفع للثقة.
  • إذا كان لديك مستوى عالي من تحمّل مخاطر التطبيقات، حرِّك شريط التمرير إلى اليسار لتقليل حد مخاطر التطبيقات.

    • لا يُنصح باستخدام القيمة 0.0، لأنّ هذا الإعداد يؤدي إلى إيقاف ميزة الحماية من إساءة الاستخدام.

يمكنك الرجوع إلى مستندات reCAPTCHA Enterprise للحصول على تفاصيل إضافية.

2. إضافة مكتبة App Check إلى تطبيقك

أضِف Firebase إلى تطبيق الويب إذا لم يسبق لك إجراء ذلك. احرص على استيراد مكتبة App Check.

3- إعداد App Check

أضِف رمز الإعداد التالي إلى تطبيقك قبل الوصول إلى أي من خدمات Firebase. عليك إدخال مفتاح الموقع الإلكتروني الخاص بخدمة reCAPTCHA Enterprise، الذي أنشأته في Cloud Console، إلى activate().

Web

import { initializeApp } from "firebase/app";
import { initializeAppCheck, ReCaptchaEnterpriseProvider } from "firebase/app-check";

const app = initializeApp({
  // Your Firebase configuration object.
});

// Create a ReCaptchaEnterpriseProvider instance using your reCAPTCHA Enterprise
// site key and pass it to initializeAppCheck().
const appCheck = initializeAppCheck(app, {
  provider: new ReCaptchaEnterpriseProvider(/* reCAPTCHA Enterprise site key */),
  isTokenAutoRefreshEnabled: true // Set to true to allow auto-refresh.
});

Web

firebase.initializeApp({
  // Your Firebase configuration object.
});

// Create a ReCaptchaEnterpriseProvider instance using your reCAPTCHA Enterprise
// site key and pass it to activate().
const appCheck = firebase.appCheck();
appCheck.activate(
  new firebase.appCheck.ReCaptchaEnterpriseProvider(
    /* reCAPTCHA Enterprise site key */
  ),
  true // Set to true to allow auto-refresh.
);

الخطوات التالية

بعد تثبيت مكتبة App Check في تطبيقك، يمكنك نشرها.

سيبدأ تطبيق العميل المعدَّل في إرسال رموز App Check مع كل طلب يرسله إلى Firebase، ولكن لن تتطلّب منتجات Firebase أن تكون الرموز صالحة إلى أن تفعّل فرض استخدامها في قسم App Check ضِمن وحدة تحكّم Firebase.

مراقبة المقاييس وتفعيل التنفيذ

قبل تفعيل فرض استخدام المصادقة الثنائية، عليك التأكّد من أنّ ذلك لن يؤدي إلى تعطيل حسابات المستخدمين الحاليين الذين لديهم أذونات صحيحة. من ناحية أخرى، إذا لاحظت استخدامًا مشبوهًا لموارد تطبيقك، ننصحك بتفعيل خيار فرض القيود في أقرب وقت.

للمساعدة في اتّخاذ هذا القرار، يمكنك الاطّلاع على مقاييس App Check للخدمات التي تستخدمها:

تفعيل تنفيذ App Check

بعد فهم كيفية تأثير App Check في المستخدمين والاستعداد للمتابعة، يمكنك تفعيل فرض App Check باتّباع الخطوات التالية:

استخدام App Check في بيئات تصحيح الأخطاء

إذا أردت تشغيل تطبيقك في بيئة لا تصنّفها App Check عادةً على أنّها صالحة، مثل بيئة محلية أثناء التطوير أو من بيئة دمج مستمر (CI)، بعد تسجيل تطبيقك في App Check، يمكنك إنشاء إصدار تصحيح أخطاء من تطبيقك يستخدم موفّر تصحيح الأخطاء في App Check بدلاً من موفّر تصديق حقيقي.

اطّلِع على استخدام App Check مع موفّر تصحيح الأخطاء في تطبيقات الويب.

ملاحظة حول التكلفة

تنشئ App Check تقييمًا نيابةً عنك للتحقّق من صحة رمز الاستجابة المميّز الخاص بالمستخدم في كل مرة يعيد فيها المتصفّح الذي يشغّل تطبيق الويب تحميل رمز App Check. سيتم تحصيل رسوم من مشروعك مقابل كل تقييم يتم إنشاؤه بما يتجاوز الحصة المجانية. لمزيد من التفاصيل، يُرجى الاطّلاع على أسعار reCAPTCHA.

سيجدّد تطبيق الويب هذا الرمز المميّز تلقائيًا مرّتين كل ساعة واحدة. للتحكّم في عدد المرات التي يعيد فيها تطبيقك تحميل رموز App Check المميزة (وبالتالي عدد المرات التي يتم فيها إنشاء تقييمات جديدة)، عليك ضبط مدة البقاء (TTL).