了解 2023 年 Google I/O 大会上介绍的 Firebase 亮点。了解详情

Web uygulamalarında reCAPTCHA v3 ile Uygulama Kontrolü'nü kullanmaya başlayın

Bu sayfa, yerleşik reCAPTCHA v3 sağlayıcısını kullanarak bir web uygulamasında Uygulama Kontrolü'nü nasıl etkinleştireceğinizi gösterir. Uygulama Kontrolü'nü etkinleştirdiğinizde, projenizin Firebase kaynaklarına yalnızca uygulamanızın erişebilmesini sağlamaya yardımcı olursunuz. Bu özelliğin Genel Bakışına bakın.

reCAPTCHA v3, ücretsiz bir hizmettir. Uygulama Kontrolü, ücretsiz kotaya sahip ücretli bir hizmet olan reCAPTCHA Enterprise'ı da destekler. reCAPTCHA v3 ile reCAPTCHA Enterprise arasındaki farkları öğrenmek için özelliklerin karşılaştırmasına bakın.

reCAPTCHA v3'ün kullanıcılar tarafından görülmediğini unutmayın. reCAPTCHA v3 sağlayıcısı, kullanıcıların herhangi bir zamanda bir sorunu çözmesini gerektirmez. reCAPTCHA v3 belgelerine bakın.

Uygulama Kontrolü'nü kendi özel sağlayıcınızla kullanmak istiyorsanız Özel Uygulama Kontrolü sağlayıcı uygulama bölümüne bakın.

1. Firebase projenizi kurun

  1. Henüz yapmadıysanız Firebase'i JavaScript projenize ekleyin .

  2. Sitenizi reCAPTCHA v3 için kaydedin ve reCAPTCHA v3 site anahtarınızı ve gizli anahtarınızı alın.

  3. Firebase konsolunun Uygulama Kontrolü bölümünde reCAPTCHA sağlayıcısı ile Uygulama Kontrolünü kullanmak için uygulamalarınızı kaydedin. Önceki adımda aldığınız gizli anahtarı sağlamanız gerekecek.

    Bir Firebase ürünü için zorlamayı etkinleştirdiğinizde, yalnızca kayıtlı uygulamalar ürünün arka uç kaynaklarına erişebileceğinden genellikle projenizin tüm uygulamalarını kaydetmeniz gerekir.

  4. İsteğe bağlı : Uygulama kayıt ayarlarında, sağlayıcı tarafından verilen Uygulama Kontrolü belirteçleri için özel bir yaşam 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 dengelere dikkat edin:

    • Güvenlik: Daha kısa TTL'ler, sızan veya ele geçirilen bir jetonun bir saldırgan tarafından suistimal edilebileceği pencereyi azalttığı için daha güçlü güvenlik sağlar.
    • Performans: Daha kısa TTL'ler, uygulamanızın tasdik işlemini daha sık gerçekleştireceği anlamına gelir. Uygulama doğrulama 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 hizmetler için potansiyel olarak daha yüksek maliyetlidir. Bkz . Kotalar ve sınırlar .

    1 günlük varsayılan TTL, çoğu uygulama için uygundur. Uygulama Kontrolü kitaplığının belirteçleri TTL süresinin yaklaşık yarısında yenilediğini unutmayın.

2. Uygulama Kontrolü kitaplığını uygulamanıza ekleyin

Henüz yapmadıysanız Firebase'i web uygulamanıza ekleyin . Uygulama Kontrolü kitaplığını içe aktardığınızdan emin olun.

3. Uygulama Kontrolünü Başlatın

Herhangi bir Firebase hizmetine erişmeden önce aşağıdaki başlatma kodunu uygulamanıza ekleyin. reCAPTCHA konsolunda oluşturduğunuz reCAPTCHA site anahtarınızı activate() işlevine geçirmeniz gerekir.

Web modular API

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

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

// 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.
const appCheck = initializeAppCheck(app, {
  provider: new ReCaptchaV3Provider('abcdefghijklmnopqrstuvwxy-1234567890abcd'),

  // Optional argument. If true, the SDK automatically refreshes App Check
  // tokens as needed.
  isTokenAutoRefreshEnabled: true
});

Web namespaced API

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',

  // Optional argument. If true, the SDK automatically refreshes App Check
  // tokens as needed.
  true);

Sonraki adımlar

Uygulama Kontrolü kitaplığı uygulamanıza yüklendikten sonra dağıtın.

Güncellenen istemci uygulaması, Firebase'e yaptığı her istekle birlikte Uygulama Kontrolü belirteçleri göndermeye başlayacak, ancak Firebase ürünleri, siz Firebase konsolunun Uygulama Kontrolü bölümünde zorlamayı etkinleştirene kadar belirteçlerin geçerli olmasını gerektirmeyecektir.

Metrikleri izleyin ve yaptırımı etkinleştirin

Ancak yaptırımı etkinleştirmeden önce, bunu yapmanın mevcut yasal kullanıcılarınızı kesintiye uğratmayacağından emin olmalısınız. Öte yandan, 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 hizmetler için Uygulama Kontrolü ölçümlerine bakabilirsiniz:

Uygulama Kontrolü zorlamasını etkinleştir

Uygulama Kontrolü'nün kullanıcılarınızı nasıl etkileyeceğini anladığınızda ve devam etmeye hazır olduğunuzda, Uygulama Kontrolü uygulamasını etkinleştirebilirsiniz:

Hata ayıklama ortamlarında Uygulama Kontrolü kullanın

Uygulamanızı Uygulama Kontrolü için kaydettirdikten sonra, uygulamanızı Geliştirme sırasında yerel olarak veya sürekli entegrasyon (CI) ortamı gibi Uygulama Kontrolü'nün normalde geçerli olarak sınıflandırmayacağı bir ortamda çalıştırmak isterseniz, gerçek bir tasdik sağlayıcısı yerine Uygulama Kontrolü hata ayıklama sağlayıcısını kullanan, uygulamanızın bir hata ayıklama yapısı.

Bkz. Uygulama Denetimini web uygulamalarında hata ayıklama sağlayıcısıyla kullanma .