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

Bu sayfada, reCAPTCHA Enterprise sağlayıcısı kullanılarak bir web uygulamasında Uygulama Kontrolü'nün nasıl etkinleştirileceği gösterilmektedir. Uygulama Kontrolü'nü etkinleştirdiğinizde projenizin Firebase kaynaklarına yalnızca uygulamanızın erişebilmesini sağlarsınız. Bu özelliğe genel bakış bölümüne bakın.

Uygulama Kontrolü'nün, kullanıcıların görmemesini sağlayan reCAPTCHA Enterprise puana dayalı site anahtarlarını kullandığını unutmayın. reCAPTCHA Enterprise sağlayıcısı, kullanıcıların hiçbir zaman bir zorluğu çözmesini gerektirmez.

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

1. Firebase projenizi oluşturun

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

  2. Cloud Console'un reCAPTCHA Enterprise bölümünü açın ve aşağıdakileri yapın:

    1. reCAPTCHA Enterprise API'yi etkinleştirmeniz istenirse etkinleştirin.
    2. Web sitesi türünde bir anahtar oluşturun. Web uygulamanızı barındırdığınız alan adlarını belirtmeniz gerekir. "Onay kutusu sorgulamasını kullan" seçeneğini işaretlenmemiş olarak bırakın.
  3. Firebase konsolunun Uygulama Kontrolü bölümünde, reCAPTCHA Enterprise sağlayıcısıyla Uygulama Kontrolü'nü kullanmak için uygulamalarınızı kaydedin. Önceki adımda aldığınız site anahtarını girmeniz gerekir.

    Bir Firebase ürünü için yaptırımı etkinleştirdiğinizde yalnızca kayıtlı uygulamalar ürünün arka uç kaynaklarına erişebilir. Bu nedenle, genellikle projenizdeki tüm uygulamaları kaydetmeniz gerekir.

  4. İsteğe bağlı: Uygulama kayıt ayarlarında, sağlayıcı tarafından verilen Uygulama Kontrolü 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 dengelere dikkat edin:

    • Güvenlik: Daha kısa TTL'ler, sızdırılan veya ele geçirilen bir jetonun saldırgan tarafından kötüye kullanılabileceği pencereyi azalttığı için daha güçlü güvenlik sağlar.
    • Performans: Daha kısa TTL'ler, uygulamanızın onay 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 onay, kotanızı daha hızlı tüketir. Ücretli hizmetler için ise daha yüksek bir maliyete sahip olabilir. Bkz. Kotalar ve sınırlar.

    Varsayılan 1 saatlik TTL, çoğu uygulama için makul bir süredir. Uygulama Kontrolü kitaplığının, jetonları TTL süresinin yaklaşık yarısında yenilendiğini unutmayın.

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

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

3. Uygulama Kontrolü'nü Başlat

Herhangi bir Firebase hizmetine erişmeden önce uygulamanıza aşağıdaki başlatma kodunu ekleyin. Cloud Console'da oluşturduğunuz reCAPTCHA Enterprise site anahtarınızı activate() hizmetine iletmeniz gerekir.

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.
);

Sonraki adımlar

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

Güncellenen istemci uygulaması, Firebase'e yaptığı her istekle birlikte Uygulama Kontrolü jetonları göndermeye başlar. Ancak Firebase ürünleri, Firebase konsolunun Uygulama Kontrolü bölümünde yaptırımı etkinleştirmediğiniz sürece jetonların geçerli olmasını gerektirmez.

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

Ancak, zorunlu kılmayı etkinleştirmeden önce, bu işlemin mevcut meşru kullanıcılarınızın çalışmasını engellemediğinden emin olmanız gerekir. Diğer 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 hizmetlerin Uygulama Kontrolü metriklerine bakabilirsiniz:

Uygulama Kontrolü'nün zorunlu kılınması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ü'nün zorunlu kılınmasını etkinleştirebilirsiniz:

Hata ayıklama ortamlarında Uygulama Kontrolü'nü kullanma

Uygulamanızı Uygulama Kontrolü'ne kaydettikten sonra, uygulamanızı normalde Uygulama Kontrolü'nün geçerli olarak sınıflandırılmayacağı bir ortamda (ör. geliştirme sırasında yerel olarak veya sürekli entegrasyon (CI) ortamından) çalıştırmak isterseniz uygulamanızın, gerçek bir onay sağlayıcısı yerine Uygulama Kontrolü hata ayıklama sağlayıcısını kullanan bir hata ayıklama derlemesi oluşturabilirsiniz.

Web uygulamalarında hata ayıklama sağlayıcısıyla Uygulama Kontrolü'nü kullanma başlıklı makaleye göz atın.

Maliyetle ilgili not

Uygulama Kontrolü, web uygulamanızı çalıştıran bir tarayıcı Uygulama Kontrolü 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 kotayı aşan her değerlendirme için projenizden ücret alınır. Ayrıntılar için reCAPTCHA fiyatlandırmasına bakın.

Varsayılan olarak web uygulamanız bu jetonu her 1 saatte iki kez yeniler. Uygulamanızın Uygulama Kontrolü jetonlarını ne sıklıkta yenilediğini (dolayısıyla yeni değerlendirmelerin ne sıklıkla oluşturulacağını) kontrol etmek için bunun TTL'sini yapılandırın.