جلوگیری از سوءاستفاده از API جمینی با بررسی برنامه فایربیس

وقتی یک API را مستقیماً از یک برنامه تلفن همراه یا وب فراخوانی می‌کنید، API در برابر سوءاستفاده توسط کلاینت‌های غیرمجاز آسیب‌پذیر است. اگر می‌خواهید API Gemini را مستقیماً از برنامه تلفن همراه یا وب خود فراخوانی کنید، باید با استفاده از منطق هوش مصنوعی Firebase و اجرای Firebase App Check ، از آن در برابر سوءاستفاده محافظت کنید . وقتی App Check اجرا می‌کنید، فقط به درخواست‌های ورودی که تأیید شده است از برنامه واقعی شما و/یا یک دستگاه دستکاری نشده هستند، اجازه ورود می‌دهد.

پرش به دستورالعمل‌های تنظیم

Firebase AI Logic یک دروازه پروکسی ارائه می‌دهد که به شما امکان می‌دهد با Firebase App Check ادغام شوید و از API Gemini هنگام فراخوانی مستقیم توسط برنامه‌های تلفن همراه و وب خود محافظت کنید. هنگامی که App Check برای Firebase AI Logic اعمال می‌شود، به محافظت از API توسعه‌دهنده Gemini و API پلتفرم عامل Gemini (که قبلاً Vertex AI نام داشت) کمک می‌کند.

App Check برای Firebase AI Logic همچنین از محافظت در برابر بازپخش پشتیبانی می‌کند، به این معنی که یک توکن App Check فقط یک بار قابل استفاده است.


خلاصه‌ای سطح بالا از نحوه‌ی عملکرد App Check

با App Check ، دستگاه‌هایی که برنامه شما را اجرا می‌کنند از یک ارائه‌دهنده گواهی برنامه یا دستگاه استفاده می‌کنند که یک یا هر دو مورد زیر را تأیید می‌کند:

  • درخواست‌ها از برنامه‌ی اصلی شما سرچشمه می‌گیرند
  • درخواست‌ها از یک دستگاه معتبر و بدون دستکاری سرچشمه می‌گیرند

این گواهی به هر درخواستی که برنامه شما با استفاده از Firebase AI Logic SDK ارسال می‌کند، پیوست می‌شود. هنگامی که App Check اجرا شود، درخواست‌های کلاینت‌هایی که گواهی معتبر نداشته باشند، رد می‌شوند، همانطور که هر درخواستی که از برنامه یا پلتفرمی که شما آن را مجاز نکرده‌اید، ارسال شود، رد خواهد شد.

هنگام تنظیم App Check ، اضافه کردن محافظت در برابر تکرار را در نظر بگیرید، که باعث می‌شود توکن‌های App Check فقط یک بار مصرف باشند . این گزینه محافظت پیشرفته‌تری فراتر از محافظت پایه ارائه می‌دهد و به شما امکان می‌دهد سطح مناسبی از محافظت را برای برنامه و موارد استفاده خود تعیین کنید.

می‌توانید اطلاعات دقیقی در مورد App Check در مستندات آن، از جمله توضیحات ارائه‌دهندگان گواهی و همچنین هرگونه سهمیه و محدودیت قابل اجرا، بیابید.

App Check تنظیم کنید

دستورالعمل‌های زیر برای تنظیم اجرای Firebase App Check برای Firebase AI Logic بهینه شده‌اند.

مرحله ۱ : App Check اجباری کنید

از اوایل ژوئیه ۲۰۲۶، در طول گردش کار تنظیم هدایت‌شده در کنسول Firebase ، Firebase به‌طور خودکار Firebase App Check برای Firebase AI Logic اعمال می‌کند تا به محافظت از API Gemini کمک کند.

با این حال، اگر قبل از اوایل ژوئیه ۲۰۲۶، Firebase AI Logic را در پروژه Firebase خود راه‌اندازی کرده‌اید (یا App Check به دلایل دیگری اجرا نمی‌شود)، می‌توانید خودتان با استفاده از دستورالعمل‌های زیر، App Check اجرا کنید.

  1. بررسی کنید که آیا App Check از قبل برای Firebase AI Logic اعمال شده است یا خیر.

    1. در کنسول Firebase ، به تب Security > App Check > APIs بروید.

    2. ردیف مربوط به Firebase AI Logic را پیدا کنید. اگر عبارت Unenforced در آن بود، بقیه این دستورالعمل‌ها را ادامه دهید.

  2. روی ردیف مربوط به Firebase AI Logic کلیک کنید تا نمودارهای معیارها را مشاهده کنید. در زیر این نمودارها، روی Set up کلیک کنید.

  3. در صفحه اول پنجره ( حفاظت پایه )، گزینه Enforced (اجرا شده ) را انتخاب کنید و سپس روی Continue (ادامه) کلیک کنید.

  4. در صفحه بعدی ( محافظت در برابر پخش مجدد )، گزینه غیرفعال (Disabled ) را انتخاب کنید و سپس روی ادامه (Continue ) کلیک کنید.

  5. در صفحه آخر، ملاحظات مربوط به اجرای App Check بررسی کنید تا مطمئن شوید که برای اجرای App Check آماده هستید. اگر آماده هستید، روی ادامه کلیک کنید.

    اگر فقط می‌خواهید App Check اجرا کنید و فقط از ارائه‌دهنده اشکال‌زدایی با Firebase AI Logic در یک برنامه پیش‌تولید استفاده کنید، نیازی به ثبت برنامه‌های خود ندارید . با این حال، وقتی آماده انتشار برنامه خود برای کاربران نهایی هستید، باید برنامه‌های خود را به عنوان بخشی از راه‌اندازی یک ارائه‌دهنده گواهی تولید (مانند App Attest، Play Integrity یا reCAPTCHA Enterprise ) ثبت کنید.

مرحله ۲ : راه‌اندازی ارائه‌دهنده اشکال‌زدایی برای توسعه محلی

برای توسعه محلی ، می‌توانید ارائه‌دهنده اشکال‌زدایی App Check راه‌اندازی کنید و همچنان App Check برای Firebase AI Logic فعال نگه دارید.

سویفت

در اینجا نحوه استفاده از ارائه دهنده اشکال زدایی هنگام اجرای برنامه خود در یک شبیه ساز به صورت تعاملی (به عنوان مثال، در طول توسعه محلی) آورده شده است:

  1. در پروژه Xcode خود، FirebaseAppCheck را وارد کنید و قبل از پیکربندی Firebase App Check با debug provider factory مقداردهی اولیه کنید.

    import SwiftUI
    import FirebaseCore
    import FirebaseAppCheck
    
    @main
    struct YourApp: App {
      init() {
        let providerFactory = AppCheckDebugProviderFactory()
        AppCheck.setAppCheckProviderFactory(providerFactory)
        FirebaseApp.configure()
      }
    
      var body: some Scene {
        WindowGroup {
          NavigationView {
            ContentView()
          }
        }
      }
    }
    
  2. توکن اشکال‌زدایی خود را دریافت کنید:

    1. برنامه خود را در شبیه‌ساز یا روی دستگاه آزمایشی خود اجرا کنید.

    2. کنسول Xcode را باز کنید و به دنبال توکن اشکال‌زدایی App Check بگردید. برای مثال:

      <Warning> [AppCheckCore][I-GAC004001] App Check debug token: '123a4567-b89c-12d3-e456-789012345678'.
      
    3. توکن را کپی کنید (برای مثال، 123a4567-b89c-12d3-e456-789012345678 ).

  3. توکن اشکال‌زدایی خود را با App Check ثبت کنید:

    1. در کنسول Firebase ، به تب Security > App Check > Apps بروید.

    2. برنامه‌ی خود را پیدا کنید، روی منوی سرریز ( ) کلیک کنید و سپس مدیریت توکن‌های اشکال‌زدایی (Manage debug tokens ) را انتخاب کنید.

    3. برای ثبت توکن اشکال‌زدایی خود، دستورالعمل‌های روی صفحه را دنبال کنید.

برای جزئیات بیشتر در مورد ارائه‌دهنده اشکال‌زدایی (از جمله نحوه دریافت یک توکن اشکال‌زدایی جدید)، به اسناد رسمی App Check مراجعه کنید.

Kotlin

در اینجا نحوه استفاده از ارائه دهنده اشکال زدایی هنگام اجرای برنامه خود در یک شبیه ساز به صورت تعاملی (به عنوان مثال، در طول توسعه محلی) آورده شده است:

  1. در نسخه اشکال‌زدایی (debug build)، App Check طوری پیکربندی کنید که از debug provider factory استفاده کند:

    Firebase.initialize(context = this)
    Firebase.appCheck.installAppCheckProviderFactory(
        DebugAppCheckProviderFactory.getInstance(),
    )
  2. توکن اشکال‌زدایی خود را دریافت کنید:

    1. برنامه خود را در شبیه‌ساز یا روی دستگاه آزمایشی خود اجرا کنید.

    2. در لاگ‌های خود به دنبال توکن اشکال‌زدایی App Check بگردید. برای مثال:

      D DebugAppCheckProvider: Enter this debug secret into the allow list
      in the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678
      
    3. توکن را کپی کنید (برای مثال، 123a4567-b89c-12d3-e456-789012345678 ).

  3. توکن اشکال‌زدایی خود را با App Check ثبت کنید:

    1. در کنسول Firebase ، به تب Security > App Check > Apps بروید.

    2. برنامه‌ی خود را پیدا کنید، روی منوی سرریز ( ) کلیک کنید و سپس مدیریت توکن‌های اشکال‌زدایی (Manage debug tokens ) را انتخاب کنید.

    3. برای ثبت توکن اشکال‌زدایی خود، دستورالعمل‌های روی صفحه را دنبال کنید.

برای جزئیات بیشتر در مورد ارائه‌دهنده اشکال‌زدایی (از جمله نحوه دریافت یک توکن اشکال‌زدایی جدید)، به اسناد رسمی App Check مراجعه کنید.

Java

در اینجا نحوه استفاده از ارائه دهنده اشکال زدایی هنگام اجرای برنامه خود در یک شبیه ساز به صورت تعاملی (به عنوان مثال، در طول توسعه محلی) آورده شده است:

  1. در نسخه اشکال‌زدایی (debug build)، App Check طوری پیکربندی کنید که از debug provider factory استفاده کند:

    FirebaseApp.initializeApp(/*context=*/ this);
    FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance();
    firebaseAppCheck.installAppCheckProviderFactory(
            DebugAppCheckProviderFactory.getInstance());
  2. توکن اشکال‌زدایی خود را دریافت کنید:

    1. برنامه خود را در شبیه‌ساز یا روی دستگاه آزمایشی خود اجرا کنید.

    2. در لاگ‌های خود به دنبال توکن اشکال‌زدایی App Check بگردید. برای مثال:

      D DebugAppCheckProvider: Enter this debug secret into the allow list
      in the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678
      
    3. توکن را کپی کنید (برای مثال، 123a4567-b89c-12d3-e456-789012345678 ).

  3. توکن اشکال‌زدایی خود را با App Check ثبت کنید:

    1. در کنسول Firebase ، به تب Security > App Check > Apps بروید.

    2. برنامه‌ی خود را پیدا کنید، روی منوی سرریز ( ) کلیک کنید و سپس مدیریت توکن‌های اشکال‌زدایی (Manage debug tokens ) را انتخاب کنید.

    3. برای ثبت توکن اشکال‌زدایی خود، دستورالعمل‌های روی صفحه را دنبال کنید.

برای جزئیات بیشتر در مورد ارائه‌دهنده اشکال‌زدایی (از جمله نحوه دریافت یک توکن اشکال‌زدایی جدید)، به اسناد رسمی App Check مراجعه کنید.

Web

در اینجا نحوه استفاده از ارائه دهنده اشکال زدایی هنگام اجرای برنامه خود از localhost به صورت تعاملی (به عنوان مثال، در طول توسعه محلی) آورده شده است:

  1. در ساخت اشکال‌زدایی خود، قبل از مقداردهی اولیه App Check ، با تنظیم self.FIREBASE_APPCHECK_DEBUG_TOKEN به true حالت اشکال‌زدایی را فعال کنید. برای مثال:

    self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
    initializeAppCheck(app, { /* App Check options */ });
    
  2. به صورت محلی از برنامه وب خود بازدید کنید و ابزارهای توسعه‌دهنده مرورگر را باز کنید. در کنسول اشکال‌زدایی، یک توکن اشکال‌زدایی مشاهده خواهید کرد:

    AppCheck debug token: "123a4567-b89c-12d3-e456-789012345678".
    You will need to safelist it in the Firebase console for it to work.
    
  3. توکن اشکال‌زدایی خود را با App Check ثبت کنید:

    1. در کنسول Firebase ، به تب Security > App Check > Apps بروید.

    2. برنامه‌ی خود را پیدا کنید، روی منوی سرریز ( ) کلیک کنید و سپس مدیریت توکن‌های اشکال‌زدایی (Manage debug tokens ) را انتخاب کنید.

    3. برای ثبت توکن اشکال‌زدایی خود، دستورالعمل‌های روی صفحه را دنبال کنید.

برای جزئیات بیشتر در مورد ارائه‌دهنده اشکال‌زدایی (از جمله نحوه دریافت یک توکن اشکال‌زدایی جدید)، به اسناد رسمی App Check مراجعه کنید.

Dart

آی‌او‌اس+

در اینجا نحوه استفاده از ارائه دهنده اشکال زدایی هنگام اجرای برنامه خود در یک شبیه ساز به صورت تعاملی (به عنوان مثال، در طول توسعه محلی) آورده شده است:

  1. بلافاصله پس از راه‌اندازی اولیه برنامه Firebase، با ارائه‌دهنده اشکال‌زدایی، App Check فعال کنید:

    import 'package:flutter/material.dart';
    import 'package:firebase_core/firebase_core.dart';
    
    // Import the firebase_app_check plugin
    import 'package:firebase_app_check/firebase_app_check.dart';
    
    Future<void> main() async {
      WidgetsFlutterBinding.ensureInitialized();
      await Firebase.initializeApp();
      await FirebaseAppCheck.instance.activate(
        // Set appleProvider to `AppleProvider.debug`
        appleProvider: AppleProvider.debug,
      );
      runApp(App());
    }
    
  2. فعال کردن ثبت وقایع اشکال‌زدایی در پروژه Xcode شما:

    1. محصول > طرح > ویرایش طرح را باز کنید.
    2. از منوی سمت چپ، گزینه Run را انتخاب کنید و سپس به تب Arguments بروید.
    3. در بخش آرگومان‌های ارسالی در هنگام راه‌اندازی ، -FIRDebugEnabled اضافه کنید.
  3. توکن اشکال‌زدایی خود را دریافت کنید:

    1. ios/Runner.xcworkspace را با Xcode باز کنید و برنامه خود را در شبیه‌ساز یا روی دستگاه آزمایشی خود اجرا کنید.

    2. کنسول Xcode را باز کنید و به دنبال توکن اشکال‌زدایی App Check بگردید. برای مثال:

      <Warning> [AppCheckCore][I-GAC004001] App Check debug token: '123a4567-b89c-12d3-e456-789012345678'.
      
    3. توکن را کپی کنید (برای مثال، 123a4567-b89c-12d3-e456-789012345678 ).

  4. توکن اشکال‌زدایی خود را با App Check ثبت کنید:

    1. در کنسول Firebase ، به تب Security > App Check > Apps بروید.

    2. برنامه‌ی خود را پیدا کنید، روی منوی سرریز ( ) کلیک کنید و سپس مدیریت توکن‌های اشکال‌زدایی (Manage debug tokens ) را انتخاب کنید.

    3. برای ثبت توکن اشکال‌زدایی خود، دستورالعمل‌های روی صفحه را دنبال کنید.

اندروید

در اینجا نحوه استفاده از ارائه دهنده اشکال زدایی هنگام اجرای برنامه خود در یک شبیه ساز به صورت تعاملی (به عنوان مثال، در طول توسعه محلی) آورده شده است:

  1. بلافاصله پس از راه‌اندازی اولیه برنامه Firebase، با ارائه‌دهنده اشکال‌زدایی، App Check فعال کنید:

    import 'package:flutter/material.dart';
    import 'package:firebase_core/firebase_core.dart';
    
    // Import the firebase_app_check plugin
    import 'package:firebase_app_check/firebase_app_check.dart';
    
    Future<void> main() async {
      WidgetsFlutterBinding.ensureInitialized();
      await Firebase.initializeApp();
      await FirebaseAppCheck.instance.activate(
        // Set androidProvider to `AndroidProvider.debug`
        androidProvider: AndroidProvider.debug,
      );
      runApp(App());
    }
    
  2. توکن اشکال‌زدایی خود را دریافت کنید:

    1. برنامه خود را در شبیه‌ساز یا روی دستگاه آزمایشی خود اجرا کنید.

    2. در لاگ‌های خود به دنبال توکن اشکال‌زدایی App Check بگردید. برای مثال:

      D DebugAppCheckProvider: Enter this debug secret into the allow list
      in the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678
      
    3. توکن را کپی کنید (برای مثال، 123a4567-b89c-12d3-e456-789012345678 ).

  3. توکن اشکال‌زدایی خود را با App Check ثبت کنید:

    1. در کنسول Firebase ، به تب Security > App Check > Apps بروید.

    2. برنامه‌ی خود را پیدا کنید، روی منوی سرریز ( ) کلیک کنید و سپس مدیریت توکن‌های اشکال‌زدایی (Manage debug tokens ) را انتخاب کنید.

    3. برای ثبت توکن اشکال‌زدایی خود، دستورالعمل‌های روی صفحه را دنبال کنید.

وب

در اینجا نحوه استفاده از ارائه دهنده اشکال زدایی هنگام اجرای برنامه خود از localhost به صورت تعاملی (به عنوان مثال، در طول توسعه محلی) آورده شده است:

  1. در فایل web/index.html ، با تنظیم self.FIREBASE_APPCHECK_DEBUG_TOKEN به true ، حالت اشکال‌زدایی را فعال کنید:

    <body>
      <script>
        self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
      </script>
    
      ...
    
    </body>
    
  2. برنامه وب خود را به صورت محلی اجرا کنید و ابزارهای توسعه‌دهنده مرورگر را باز کنید. در کنسول اشکال‌زدایی، یک توکن اشکال‌زدایی مشاهده خواهید کرد:

    AppCheck debug token: "123a4567-b89c-12d3-e456-789012345678".
    You will need to safelist it in the Firebase console for it to work.
    

    این توکن به صورت محلی در مرورگر شما ذخیره می‌شود و هر زمان که از برنامه خود در همان مرورگر روی همان دستگاه استفاده کنید، استفاده خواهد شد. اگر می‌خواهید از این توکن در مرورگر یا دستگاه دیگری استفاده کنید، به جای true self.FIREBASE_APPCHECK_DEBUG_TOKEN را روی رشته توکن تنظیم کنید.

  3. توکن اشکال‌زدایی خود را با App Check ثبت کنید:

    1. در کنسول Firebase ، به تب Security > App Check > Apps بروید.

    2. برنامه‌ی خود را پیدا کنید، روی منوی سرریز ( ) کلیک کنید و سپس مدیریت توکن‌های اشکال‌زدایی (Manage debug tokens ) را انتخاب کنید.

    3. برای ثبت توکن اشکال‌زدایی خود، دستورالعمل‌های روی صفحه را دنبال کنید.

برای جزئیات بیشتر در مورد ارائه‌دهنده اشکال‌زدایی (از جمله نحوه دریافت یک توکن اشکال‌زدایی جدید)، به اسناد رسمی App Check مراجعه کنید.

وحدت

در اینجا نحوه استفاده از ارائه دهنده اشکال زدایی هنگام اجرای برنامه خود در یک شبیه ساز به صورت تعاملی (به عنوان مثال، در طول توسعه محلی) آورده شده است:

  1. در کنسول Firebase ، یک توکن اشکال‌زدایی ایجاد کنید:

    1. در کنسول Firebase ، به تب Security > App Check > Apps بروید.

    2. برنامه‌ی خود را پیدا کنید، روی منوی سرریز ( ) کلیک کنید و سپس مدیریت توکن‌های اشکال‌زدایی (Manage debug tokens ) را انتخاب کنید.

    3. برای ایجاد یک نشانه اشکال‌زدایی جدید، دستورالعمل‌های روی صفحه را دنبال کنید.

  2. در کد مقداردهی اولیه برنامه خود، موارد زیر را اضافه کنید:

    using Firebase.AppCheck;
    
    void InitializeFirebase() {
      // Configure the Debug Provider factory with your debug token.
      DebugAppCheckProviderFactory.Instance.SetDebugToken("YOUR_DEBUG_TOKEN");
    
      // Set App Check to use the debug provider factory
      FirebaseAppCheck.SetAppCheckProviderFactory(
        DebugAppCheckProviderFactory.Instance);
    
      // Proceed to initialize Firebase as normal
    }
    

برای جزئیات بیشتر در مورد ارائه‌دهنده اشکال‌زدایی (از جمله نحوه دریافت یک توکن اشکال‌زدایی جدید)، به اسناد رسمی App Check مراجعه کنید.

مرحله ۳ : راه‌اندازی App Check برای کاربران نهایی و محیط عملیاتی

وقتی آماده انتشار برنامه خود برای کاربران نهایی شدید، باید برنامه‌های خود را ثبت کنید و یک ارائه‌دهنده گواهی تولید (مانند App Attest، Play Integrity یا reCAPTCHA Enterprise ) راه‌اندازی کنید.

  1. یک ارائه‌دهنده گواهی تولید انتخاب کنید و دستورالعمل‌های پیاده‌سازی را در لینک‌های زیر دنبال کنید:

    توجه داشته باشید که اگر هیچ یک از این ارائه دهندگان گواهی برای نیازهای شما کافی نیستند، می‌توانید یک ارائه دهنده سفارشی را پیاده‌سازی کنید که از یک ارائه دهنده گواهی شخص ثالث یا تکنیک‌های گواهی خودتان استفاده می‌کند.

  2. (توصیه می‌شود) با افزودن محافظت در برابر بازپخش ، محافظت را افزایش دهید ، به این معنی که یک توکن App Check فقط یک بار قابل استفاده است.

افزایش حفاظت با افزودن محافظت در برابر بازپخش

توصیه می‌کنیم از آخرین نسخه‌های SDK استفاده کنید، اما مطمئن شوید که حداقل از یکی از این نسخه‌ها برای محافظت در برابر بازپخش استفاده می‌کنید:
پلتفرم‌های اپل نسخه ۱۲.۲.۰+ | اندروید بوم نسخه ۳۴.۱۴.۰+ ( App Check نسخه ۱۹.۱.۰+) | وب نسخه ۱۲.۱۴.۰+ | فلاتر نسخه ۴.۱۵.۰+ ( App Check نسخه ۴.۱۰.۰+) | یونیتی نسخه ۱۳.۱۲.۰+

به طور پیش‌فرض، App Check از توکن‌های جلسه استفاده می‌کند که زمان ماندگاری (TTL) قابل تنظیمی بین 30 دقیقه تا 7 روز دارند. این توکن‌های جلسه توسط App Check SDK ذخیره می‌شوند، همراه با درخواست‌های برنامه شما ارسال می‌شوند و تا زمان انقضای TTL آنها قابل استفاده مجدد هستند. استفاده از توکن‌های جلسه به عنوان حفاظت پایه در نظر گرفته می‌شود.

با این حال، می‌توانید با اجرای محافظت در برابر بازپخش ، که به جای آن از توکن‌های با کاربرد محدود استفاده می‌کند، محافظت را فراتر از این محافظت اولیه افزایش دهید. وقتی محافظت در برابر بازپخش اعمال می‌شود، موارد زیر اتفاق می‌افتد:

  • App Check درخواست‌هایی را که از توکن‌های نشست (session tokens) برای Firebase AI Logic استفاده می‌کنند، مسدود می‌کند. در عوض، App Check فقط در صورتی به درخواست‌هایی که از یک توکن با کاربرد محدود (limited-use token) تازه ایجاد شده استفاده می‌کنند، اجازه‌ی ارسال می‌دهد.

  • پس از تأیید توکن با کاربرد محدود، توکن مصرف می‌شود تا فقط یک بار قابل استفاده باشد که از حملات بازپخش جلوگیری می‌کند.

  • کیت App Check برای هر درخواست، یک توکن با کاربرد محدود جدید تولید می‌کند. توجه داشته باشید که این فرآیند می‌تواند با افزایش تأخیر و گاهی اوقات هزینه (بسته به ارائه‌دهنده گواهی شما) بر درخواست‌های شما تأثیر بگذارد.

تنظیم و اجرای محافظت در برابر بازپخش

برای مشاهده محتوا و کد مخصوص ارائه‌دهنده در این صفحه، روی ارائه‌دهنده API Gemini خود کلیک کنید.

پلتفرم عامل

در اینجا نحوه تنظیم و اجرای محافظت در برابر بازپخش آمده است:

  1. اگر قبلاً این کار را نکرده‌اید، با دنبال کردن دستورالعمل‌های قبلی در این صفحه، App Check راه‌اندازی کنید .

  2. فعال کردن استفاده از توکن‌های با کاربرد محدود.

    در برنامه خود، هنگام نمونه‌سازی، پارامتر useLimitedUseAppCheckTokens را روی true تنظیم کنید:

    سویفت

    
    // ...
    
    // During instantiation, enable usage of limited-use tokens.
    let ai = FirebaseAI.firebaseAI(
      backend: .googleAI(),
      useLimitedUseAppCheckTokens: true
    )
    
    // ...
    
    

    Kotlin

    
    // ...
    
    // During instantiation, enable usage of limited-use tokens.
    val ai = Firebase.ai(
      backend = GenerativeBackend.googleAI(),
      useLimitedUseAppCheckTokens = true
    )
    
    // ...
    
    

    Java

    
    // ...
    
    // During instantiation, enable usage of limited-use tokens.
    FirebaseAI ai = FirebaseAI.getInstance(
      /* backend: */ GenerativeBackend.googleAI(),
      /* useLimitedUseAppCheckTokens: */ true
    );
    
    // ...
    
    

    Web

    
    // ...
    
    // During instantiation, enable usage of limited-use tokens.
    const ai = getAI(firebaseApp, {
      backend: new GoogleAIBackend(),
      useLimitedUseAppCheckTokens: true
    });
    
    // ...
    
    

    Dart

    
    // ...
    
    // During instantiation, enable usage of limited-use tokens
    final ai = await FirebaseAI.googleAI(
      useLimitedUseAppCheckTokens: true,
    );
    
    // ...
    
    

    وحدت

    // ...
    
    // During instantiation, enable usage of limited-use tokens
    var ai = FirebaseAI.GetInstance(
      useLimitedUseAppCheckTokens: true
    );
    
    // ...
    
  3. محافظت در برابر بازپخش را اعمال کنید.

    1. در کدبیس برنامه‌تان، مطمئن شوید که استفاده از توکن‌های با کاربرد محدود را فعال کرده‌اید (به مرحله قبل مراجعه کنید).

    2. در کنسول Firebase ، به مسیر Security > App Check بروید.

    3. نمای معیارها را برای Firebase AI Logic گسترش دهید.

    4. مطمئن شوید که گزینه‌ی Baseline Protection فعال است (Enforced) ، و سپس روی Continue کلیک کنید.

    5. برای محافظت در برابر بازپخش، یکی از گزینه‌های Unenforced (فقط نظارت) یا Enforced را انتخاب کنید.

      برای تصمیم‌گیری در مورد زمان اعمال محافظت در برابر بازپخش، موارد زیر را در نظر بگیرید:

      • اگر تعداد قابل توجهی از کاربران شما احتمالاً از نسخه‌های قبلی برنامه شما بدون فعال کردن توکن‌های با کاربرد محدود استفاده می‌کنند، نظارت بر درخواست‌های شما توصیه می‌شود. اگر فوراً محافظت از بازپخش را اعمال کنید، درخواست‌های این کاربران مسدود خواهد شد.

      • شما می‌توانید به‌طور خاص معیار Unverified: Reused token را رصد کنید، که تعداد درخواست‌هایی است که توکنی دارند که قبلاً در درخواست قبلی استفاده شده است. این معیار را در کنسول Firebase رصد کنید (به تب Security > App Check > APIs بروید).

        اگر بخش قابل توجهی از درخواست‌های اخیر در این دسته قرار دارند، می‌توانید از ایجاد اختلال در کار کاربران جلوگیری کنید و برای اعمال محافظت در برابر تکرار، تا زمانی که کاربران بیشتری به نسخه‌ای از برنامه شما که از توکن‌های با کاربرد محدود استفاده می‌کند، به‌روزرسانی نشده‌اند، صبر کنید.

درک کنید که چگونه Firebase AI Logic با App Check ادغام می‌شود.

برای استفاده از SDK های Firebase AI Logic ، API مربوط به Firebase AI Logic ( firebasevertexai.googleapis.com ) باید در پروژه Firebase شما فعال باشد. دلیل این امر این است که درخواست‌های ارسالی توسط SDK های Firebase AI Logic ابتدا به سرور Firebase AI Logic ارسال می‌شوند، که به عنوان یک دروازه پروکسی عمل می‌کند و در آنجا تأیید Firebase App Check قبل از اینکه درخواست به backend ارائه دهنده " Gemini API " انتخابی شما و API ها برای دسترسی به مدل‌های Gemini و Imagen ارسال شود، انجام می‌شود.

سوالات متداول و رفع اشکال

سوالات متداول و کدهای عیب‌یابی یا خطای بیشتر مربوط به Firebase AI Logic را بیابید.