Flutter uygulamalarında reCAPTCHA Enterprise ile Uygulama Kontrolü'nü kullanmaya başlama

Platform seçin: iOS+ Android Web Flutter


Bu sayfada, reCAPTCHA Enterprise sağlayıcısını kullanarak Flutter uygulamasında App Check hizmetinin nasıl ayarlanacağı gösterilmektedir. App Check, yalnızca uygulamanızın projenizin arka uç kaynaklarına erişebilmesini sağlar. Daha fazla bilgi edinmek için App Check ile ilgili genel bakışımızı inceleyin.

App Check, puan tabanlı reCAPTCHA anahtarların kullanılmasını gerektirir. Bu nedenle, kullanıcılar tarafından görülemez. Bu, reCAPTCHA Enterprise sağlayıcının kullanıcılardan herhangi bir zamanda zorluk çözmelerini istemeyeceği anlamına gelir.

Kullanım alanınızda App Check tarafından uygulanmayan reCAPTCHA Enterprise özellikleri gerekiyorsa veya App Check'yi kendi özel sağlayıcınızla kullanmak istiyorsanız Özel bir App Check sağlayıcısı uygulama başlıklı makaleyi inceleyin.

1. Firebase projenizi oluşturma

  1. Henüz yapmadıysanız Firebase'i Flutter projenize yükleyip başlatın.

  2. Google Cloud konsolunda Sahtekarlığa Karşı Koruma sayfasına gidin ve reCAPTCHA Enterprise sağlayıcısı için aşağıdakileri yapın:

    1. Doğru projede olduğunuzdan emin olun (ekranın üst kısmındaki proje seçiciye bakın).

    2. İstenirse reCAPTCHA Enterprise API'yi etkinleştirin.

    3. Hedef platformunuza göre anahtar oluşturun:

      iOS+

      iOS türünde bir anahtar oluşturun ve uygulamanızın paket kimliğini (örneğin, com.example.my_app) belirtin.

      • Firebase projenizde Firebase Apple uygulamanızı oluştururken sağladığınız paket kimliğini girdiğinizden emin olun. Paket kimliği değeri büyük/küçük harfe duyarlıdır.

      • App Check için her paket kimliği yalnızca tek bir reCAPTCHA anahtarıyla eşleşebilir.

      Android

      Android türünde bir anahtar oluşturun ve uygulamanızın paket adını (örneğin, com.example.my_app) belirtin.

      • Firebase projenizde Firebase Android uygulamanızı oluştururken sağladığınız paket adını girdiğinizden emin olun. Paket adı değeri büyük/küçük harfe duyarlıdır.

      • App Check için her paket adı yalnızca tek bir reCAPTCHA anahtarıyla eşleşebilir.

      Web

      Web türünde bir anahtar oluşturun ve web uygulamalarınız için her bir alanı belirtin.

      • App Check 250'den fazla alanda yayınlanan web uygulamalarını desteklemez.

      • Üretime dağıtılan (veya dağıtılacak olan) bir reCAPTCHA anahtarına hiçbir zaman localhost alanını eklemeyin.

      • "Onay kutusu zorluğunu kullan" seçeneğini işaretsiz bırakın.

      Ayrıntılı talimatlar için Puan tabanlı reCAPTCHA anahtarları oluşturma başlıklı makaleyi inceleyin.

    4. Her anahtarı not edin. Bunları Firebase konsolundaki kayıt akışına eklemeniz gerekir.

  3. Firebase konsolunda Güvenlik > Uygulama Kontrolü'ne gidin.

  4. Uygulamalar sekmesinde, hedef platform uygulamalarınızın her birini reCAPTCHA Enterprise sağlayıcısıyla App Check kullanmak üzere kaydedin. Google Cloud konsolunda aldığınız anahtarı sağlamanız gerekir.

    yalnızca kayıtlı uygulamalar hizmete erişebilir.
  5. İsteğe bağlı: Jetonun geçerlilik süresini (TTL) ayarlayın.

    Uygulama kaydı ayarlarında, sağlayıcı tarafından verilen App Check jetonları için özel bir geçerlilik süresi (TTL) ayarlayın. TTL'yi 30 dakika ile 7 gün arasında herhangi bir değere ayarlayabilirsiniz. Bu değeri değiştirirken aşağıdaki dengelemeleri göz önünde bulundurun:

    • Güvenlik: Sızdırılmış veya müdahale edilmiş bir jetonun saldırgan tarafından kötüye kullanılabileceği süreyi kısalttığı için daha kısa TTL'ler daha güçlü güvenlik sağlar.
    • Performans: Daha kısa TTL'ler, uygulamanızın doğrulama işlemini daha sık gerçekleştireceği anlamına gelir. Uygulama onayı işlemi her gerçekleştirildiğinde ağ isteklerine gecikme eklediğinden kısa bir TTL, uygulamanızın performansını etkileyebilir.
    • Kota ve maliyet: Daha kısa TTL'ler ve sık yeniden onaylama, kotanızı daha hızlı tüketir ve ücretli hizmetlerde daha fazla maliyete neden olabilir. Kotalar ve sınırlar bölümüne bakın.

    Varsayılan TTL değeri olan 1 saat, çoğu uygulama için uygundur. App CheckKitaplığın, TTL süresinin yaklaşık yarısında jetonları yenilediğini unutmayın.

  6. İsteğe bağlı: Gelişmiş ayarları yapılandırın.

  7. Kaydet'i tıklayın.

(İsteğe bağlı) Gelişmiş ayarları yapılandırma

Bir kullanıcı uygulamanızı açtığında reCAPTCHA Enterprise, temel pozlar kapsamındaki kullanıcı etkileşiminin risk düzeyini değerlendirir ve 0,1 artışlarla 0,0 ile 1,0 arasında bir puan döndürür.

  • 0,0 puan, etkileşimin yüksek risk taşıdığını ve sahtekarlık içerebileceğini gösterir.
  • 1,0 puanı, etkileşimin düşük riskli olduğunu ve çok büyük olasılıkla meşru olduğunu gösterir.

App Check, uygulama riski eşiği yapılandırmanıza olanak tanır. Böylece bu riske karşı toleransınızı ayarlayabilirsiniz.

Çoğu kullanım alanı için varsayılan eşik değeri olan 0, 5 önerilir. Kullanım alanınızda ayarlama yapılması gerekiyorsa bu değeri Firebase konsolunda uygulamalarınızın her biri için yapılandırabilirsiniz (Güvenlik > Uygulama Kontrolü'ne gidin). Aşağıdaki uygulama riski eşiğini yapılandırma ile ilgili önemli noktaları genişletip inceleyin.

2. Uygulamanıza App Check eklentisini ekleme

reCAPTCHA Enterprise sağlayıcısını kullanmak için ilgili App Check eklentisini eklemeniz gerekir.

  1. Eklentiyi yüklemek için Flutter projenizin kökünden aşağıdaki komutu çalıştırın:

    flutter pub add firebase_app_check
    
  2. İşlem tamamlandığında Flutter projenizi yeniden oluşturun:

    flutter run
    

3. App Check başlatılıyor

Uygulamanızda diğer Firebase hizmetlerini kullanmadan önce App Check başlatmanız gerekir.

import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_app_check/firebase_app_check.dart';
import 'firebase_options.dart';

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform);
  await FirebaseAppCheck.instance.activate(
    providerWeb: ReCaptchaEnterpriseProvider(WEB_SITE_KEY),
    providerAndroid: const AndroidReCaptchaProvider(ANDROID_SITE_KEY),
    providerApple: const AppleReCaptchaProvider(IOS_SITE_KEY),
  );
  runApp(App());
}

4. Metrikleri izleme ve yaptırım uygulama

Uygulamanızda App Check ayarlarını yaptıktan sonra güncellenen uygulamayı kullanıcılarınıza dağıtmaya başlayın.

Güncellenen istemci uygulaması, Firebase'e yaptığı her istekle birlikte App Check jetonları göndermeye başlar. Ancak App Check, App Check zorunlu kılınana kadar geçersiz jeton içeren istekleri engellemez.

Metrikleri izleme

Zorunlu kılmayı etkinleştirmeden önce, bu işlemin mevcut meşru kullanıcılarınızı etkilemeyeceğinden emin olun. Ancak, uygulama kaynaklarınızın şüpheli bir şekilde kullanıldığını görüyorsanız yaptırımı daha erken etkinleştirmek isteyebilirsiniz.

Bu kararı vermenize yardımcı olması için kullandığınız hizmetlerle ilgili App Check metriklerini inceleyebilirsiniz:

App Check yaptırımı etkinleştirme

App Check özelliğinin kullanıcılarınızı nasıl etkileyeceğini anladığınızda ve devam etmeye hazır olduğunuzda App Check yaptırımını etkinleştirebilirsiniz:

Hata ayıklama ortamlarında App Check kullanma

App Check, bazı ortamları geçersiz olarak sınıflandırır. Örneğin, geliştirme sırasında bir emülatör / simülatör veya localhost'tan ya da sürekli entegrasyon (CI) ortamından gelen istekler.

App Check zorunlu kılındıktan sonra uygulamanızı bu tür ortamlarda çalıştırmak için uygulamanızın, üretim tasdik sağlayıcısı yerine App Check hata ayıklama sağlayıcısını kullanan bir hata ayıklama derlemesi oluşturmanız gerekir.

Daha fazla bilgi için Flutter uygulamalarında hata ayıklama sağlayıcısıyla App Check kullanma başlıklı makaleyi inceleyin.

Fiyatlandırma

App Check, uygulamanız App Check jetonunu her yenilediğinde kullanıcının yanıt jetonunu doğrulamak için sizin adınıza bir değerlendirme oluşturur. Ücretsiz kotanın üzerinde oluşturulan her değerlendirme için Firebase projenizden ücret alınır. Ayrıntılar için reCAPTCHA fiyatlandırması bölümüne bakın.

Uygulamanız, varsayılan olarak bu jetonu her 1 saatte iki kez yeniler. Uygulamanızın App Check jetonlarını ne sıklıkta yenileyeceğini (ve dolayısıyla yeni değerlendirmelerin ne sıklıkta oluşturulacağını) kontrol etmek için jeton TTL'sini yapılandırabilirsiniz.