הפעל בדיקת אפליקציות באמצעות reCAPTCHA v3 באפליקציות אינטרנט

עמוד זה מראה כיצד להפעיל בדיקת אפליקציות באפליקציית אינטרנט, באמצעות ספק ה- reCAPTCHA v3 המובנה. כאשר אתה מפעיל בדיקת אפליקציות, אתה עוזר להבטיח שרק האפליקציה שלך תוכל לגשת למשאבי Firebase של הפרויקט שלך. ראה סקירה כללית של תכונה זו.

שים לב ש- reCAPTCHA v3 אינו נראה למשתמשים. ספק ה- reCAPTCHA v3 לא ידרוש מהמשתמשים לפתור אתגר בכל עת. עיין בתיעוד v3 reCAPTCHA .

אם אתה רוצה להשתמש Check App עם ספק מותאם אישית משלך, לראות ליישם ספקית בדיקת יישום מותאמת אישית .

1. הגדר את פרויקט Firebase שלך

  1. להוסיף Firebase לפרויקט JavaScript שלך אם לא עשה זאת.

  2. לרשום את האתר שלך עבור v3 reCAPTCHA ולקבל מפתח האתר v3 reCAPTCHA שלך ואת המפתח הסודי.

  3. הירשם אפליקציות כך שישתמש בדיקת יישום עם ספק reCAPTCHA בתוך גדרות הפרויקט> בדיקת יישום קטע במסוף Firebase. אתה תצטרך לספק את המפתח הסודי שקיבלת בשלב הקודם.

    בדרך כלל עליך לרשום את כל האפליקציות של הפרויקט שלך, מכיוון שברגע שתאפשר אכיפה עבור מוצר Firebase, רק אפליקציות רשומות יוכלו לגשת למשאבי ה- backend של המוצר.

  4. אופציונאלי: הגדרות רישום האפליקציה, להגדיר מנהג time-to-Live (TTL) עבור בדיקת יישום אסימונים שפרסמה הספקית. ניתן להגדיר את ה- TTL לכל ערך שבין 30 דקות לשבעה ימים. כשאתה משנה ערך זה, שים לב לפירעונות הבאים:

    • אבטחה: ערכות TTL קצרות יותר מספקות אבטחה חזקה יותר, מכיוון שהיא מצמצמת את החלון בו ניתן להתעלל באסימון שהודלף או יורט על ידי התוקף.
    • ביצועים: TTL קצר יותר אומר שהאפליקציה שלך תבצע תעודות בתדירות גבוהה יותר. מכיוון שתהליך אימות האפליקציה מוסיף חביון לבקשות רשת בכל פעם שהוא מבוצע, TTL קצר יכול להשפיע על ביצועי האפליקציה שלך.
    • מכסה: TTL קצרים יותר ועידוד חוזר תכוף מדללים את המכסה שלך מהר יותר. ראה מכסות ומגבלות .

    ה- TTL ברירת המחדל של 1 יום הוא סביר ביותר האפליקציות.

2. הוסף את ספריית בדיקת האפליקציות לאפליקציה שלך

ייבא את ספריית בדיקת האפליקציות.

עם npm

אם התקנת את ה- SDK Firebase באמצעות npm וכן bundler:

  1. עדכן את firebase תלות לפחות גרסה 8.6.0.

  2. ייבא את ספריית בדיקת האפליקציות:

    import 'firebase/app-check';
    

מה- CDN

אם אתה מייבא את ה- SDK של Firebase מ- CDN:

<script src="https://www.gstatic.com/firebasejs/8.8.0/firebase-app-check.js"></script>

ודא שאתה משתמש גם בגרסה האחרונה של ספריות Firebase האחרות.

מכתובות אתרים לאירוח

אם אתה מייבא את ה- SDK של Firebase באמצעות כתובות אתרים פנימיות לאירוח:

<script src="/__/firebase/8.8.0/firebase-app-check.js"></script>

ודא שאתה משתמש גם בגרסה האחרונה של ספריות Firebase האחרות.

3. אתחל את בדיקת האפליקציה

הוסף את קוד האתחול הבא ליישום שלך לפני שאתה ניגש לשירותי Firebase כלשהם. אתה תצטרך לעבור מפתח האתר reCAPTCHA שלך, שבו הם נוצרו במסוף reCAPTCHA, כדי activate() .

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

const appCheck = firebase.appCheck();
// Pass your reCAPTCHA v3 site key (public key) to activate(). Make sure this
// key is the counterpart to the secret key you set in the Firebase console.
appCheck.activate('abcdefghijklmnopqrstuvwxy-1234567890abcd');

לאחר התקנת ספריית בדיקת האפליקציות באפליקציה שלך, פרוס אותה.

אפליקציית הלקוח המעודכנת תתחיל לשלוח אסימונים לאפליקציית צ'ק יחד עם כל בקשה שהיא מבקשת ל- Firebase, אך מוצרי Firebase לא ידרשו שהאסימונים יהיו תקפים עד שתאפשרו אכיפה בסעיף בדיקת האפליקציות במסוף Firebase. לפרטים, עיין בשני החלקים הבאים.

4. עקוב אחר מדדי הבקשה

כעת, כאשר האפליקציה המעודכנת שלך נמצאת בידי המשתמשים, באפשרותך לאפשר אכיפה של בדיקת אפליקציות עבור מוצרי Firebase שבהם אתה משתמש. אולם לפני שתעשה זאת, עליך לוודא כי פעולה זו לא תשבש את המשתמשים הלגיטימיים הקיימים שלך.

מסד נתונים בזמן אמת ואחסון ענן

כלי חשוב שתוכל להשתמש בו כדי לקבל החלטה זו עבור מסד נתונים בזמן אמת ואחסון ענן הוא מסך המדדים לבקשת אפליקציות.

להצגת מדדי בקשת בדיקת היישום עבור מוצר, לפתוח את גדרות פרויקט> בדיקת יישום קטע במסוף Firebase. לדוגמה:

תמונת מסך של דף הערכים של בדיקת אפליקציות

מדדי הבקשה לכל מוצר מחולקים לארבע קטגוריות:

  • בקשות מאומתות הם אלה שיש להם אפליקציות חוקיות בדוק האסימון. לאחר שתפעיל אכיפה של בדיקת אפליקציות, רק בקשות בקטגוריה זו יצליחו.

  • בקשות לקוח מיושנות הן אלה חסרים אסימון בדיקת יישום. בקשות אלה עשויות להיות מגרסה ישנה יותר של SDK Firebase לפני שבדיקת האפליקציה נכללה באפליקציה.

  • בקשות ממוצא לא ידוע הם אלה חסרים אפליקציה בדוק האסימון, ואינם נראים כאילו הם באים Firebase SDK. אלה עשויים להיות מבקשות שבוצעו באמצעות מפתחות API גנובים או מבקשות מזויפות שבוצעו ללא SDK Firebase.

  • בקשות זדוניות הן אלה שיש להם אסימון בדיקת יישום חוקי, אשר עשוי להיות מלקוח inauthentic הניסיון להתחזות האפליקציה שלך.

התפלגות הקטגוריות הללו עבור האפליקציה שלך אמורה להודיע ​​כאשר תחליט לאפשר אכיפה. להלן מספר הנחיות:

  • אם כמעט כל הבקשות האחרונות הן של לקוחות מאומתים, שקול לאפשר לאכיפה להתחיל להגן על משאבי ה- backend שלך.

  • אם חלק ניכר מהבקשות האחרונות הן מלקוחות מיושנים ככל הנראה, כדי למנוע הפרעה למשתמשים, שקול לחכות למשתמשים נוספים שיעדכנו את האפליקציה שלך לפני שתאפשר אכיפה. אכיפת בדיקת אפליקציות באפליקציה שפורסמה תשבור גרסאות אפליקציה קודמות שאינן משולבות ב- SDK של בדיקת האפליקציות.

  • אם האפליקציה שלך עדיין לא הושקה, עליך להפעיל אכיפה מיידית של בדיקת אפליקציות, מכיוון שאין לקוחות מיושנים בשימוש.

פונקציות ענן

עבור פונקציות ענן, אתה יכול לקבל מדדי בדיקת אפליקציות על ידי בחינת יומני הפונקציות שלך. כל קריאה לפונקציה הניתנת להתקשרות פולטת יומן יומן מובנה כמו הדוגמה הבאה:

{
  "severity": "INFO",    // INFO, WARNING, or ERROR
  "logging.googleapis.com/labels": {"firebase-log-type": "callable-request-verification"},
  "jsonPayload": {
    "message": "Callable header verifications passed.",
    "verifications": {
      // ...
      "app": "MISSING",  // VALID, INVALID, or MISSING
    }
  }
}

אתה יכול לנתח את הערכים האלה במסוף Google Cloud ידי יצירת יומנים מבוסס מונה מטרי עם מסנן הערכים הבא:

resource.type="cloud_function"
resource.labels.function_name="YOUR_CLOUD_FUNCTION"
resource.labels.region="us-central1"
labels.firebase-log-type="callable-request-verification"

תווית מטרי באמצעות שדה jsonPayload.verifications.appCheck .

5. אפשר אכיפה

כדי לאפשר אכיפה, פעל לפי ההוראות עבור כל מוצר להלן. לאחר שתאפשר אכיפה של מוצר, כל הבקשות הלא מאומתות למוצר זה יידחו.

מסד נתונים בזמן אמת ואחסון ענן

כדי לאפשר אכיפה עבור מסד נתונים בזמן אמת ואחסון ענן:

  1. פתח את גדרות פרויקט> בדיקת יישום קטע במסוף Firebase.

  2. הרחב את תצוגת המדדים של המוצר שעבורו ברצונך לאפשר אכיפה.

  3. לחץ לאכוף לאשר את בחירתך.

שים לב שיכולות לחלוף עד 10 דקות לאחר שתאפשר אכיפה עד שהיא תיכנס לתוקף.

פונקציות ענן

ראה להפעיל את האפליקציה בדוק אכיפה עבור פונקציות ענן .

הצעדים הבאים

אם לאחר שרשמת את האפליקציה שלך לבדיקת אפליקציות, ברצונך להריץ את האפליקציה שלך בסביבה שבדיקת אפליקציות בדרך כלל לא תסווג אותה בתוקף, כגון באופן מקומי במהלך הפיתוח, או מסביבת אינטגרציה רציפה (CI), תוכל ליצור בניית ניפוי באגים של האפליקציה שלך המשתמשת בספק איתור באגים של אפליקציות במקום ספק אישור אמיתי.

ראה השתמש App בדוק עם ספק באגים באפליקציות אינטרנט .