Bu sayfa, reCAPTCHA Enterprise 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 Enterprise, ücretsiz kotası olan ücretli bir hizmettir. Uygulama Kontrolü, ücretsiz bir hizmet olan reCAPTCHA v3'ü de destekler. reCAPTCHA v3 ile reCAPTCHA Enterprise arasındaki farkları öğrenmek için özelliklerin karşılaştırmasına bakın.
Uygulama Kontrolü'nün reCAPTCHA Enterprise puanına dayalı site anahtarlarını kullandığını ve bu anahtarların kullanıcılar tarafından görülmediğini unutmayın. reCAPTCHA Enterprise sağlayıcısı, kullanıcıların herhangi bir zamanda bir sorunu çözmesini gerektirmez.
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
Henüz yapmadıysanız Firebase'i JavaScript projenize ekleyin .
Bulut konsolunun reCAPTCHA Enterprise bölümünü açın ve aşağıdakileri yapın:
- reCAPTCHA Enterprise API'yi etkinleştirmeniz istenirse bunu yapın.
- Bir Web Sitesi tipi anahtar oluşturun. Web uygulamanızı barındırdığınız etki alanlarını belirtmeniz gerekecektir. "Onay kutusu sorgulamasını kullan" seçeneğini işaretlemeden bırakın.
Firebase konsolunun Uygulama Kontrolü bölümünde reCAPTCHA Enterprise sağlayıcısı ile Uygulama Kontrolü kullanmak için uygulamalarınızı kaydedin. Bir önceki adımda aldığınız site anahtarını 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.
İ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 saatlik 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. activate()
için Bulut konsolunda oluşturduğunuz reCAPTCHA Enterprise site anahtarınızı iletmeniz gerekecek.
Web modular API
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 namespaced API
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 dağıtın.
Güncellenen istemci uygulaması, Firebase'e yaptığı her istekle birlikte Uygulama Kontrolü belirteçleri göndermeye başlayacak, ancak Firebase konsolunun Uygulama Kontrolü bölümünde zorlamayı etkinleştirene kadar Firebase ürünleri, 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:
- Realtime Database, Cloud Firestore, Cloud Storage ve Authentication (beta) için App Check istek ölçümlerini izleyin .
- Bulut İşlevleri için Uygulama Kontrolü istek ölçümlerini izleyin .
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:
- Realtime Database, Cloud Firestore, Cloud Storage ve Authentication (beta) için App Check zorlamasını etkinleştirin .
- Cloud Functions için App Check zorlamasını etkinleştirin .
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ırmadığı 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 .
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 kotanın üzerinde oluşturulan her değerlendirme için projenizden ücret alınacaktır. Ayrıntılar için reCAPTCHA Enterprise fiyatlandırmasına bakın.
Varsayılan olarak, web uygulamanız bu belirteci her 1 saatte bir iki kez yenileyecektir. Uygulamanızın Uygulama Kontrolü belirteçlerini ne sıklıkta yenileyeceğini (ve dolayısıyla yeni değerlendirmelerin ne sıklıkta oluşturulacağını) kontrol etmek için TTL'lerini yapılandırın .