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ğe Genel Bakış'a bakın.
reCAPTCHA v3, ücretsiz bir hizmettir. Uygulama Kontrolü ayrıca ücretsiz kotalı ücretli bir hizmet olan reCAPTCHA Enterprise'ı da destekler. reCAPTCHA v3 ve 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 meydan okumayı çözmesini gerektirmez. reCAPTCHA v3 belgelerine bakın.
Uygulama Kontrolü'nü kendi özel sağlayıcınızla kullanmak istiyorsanız, bkz. Özel bir Uygulama Kontrolü sağlayıcısı uygulama .
1. Firebase projenizi kurun
Henüz yapmadıysanız , JavaScript projenize Firebase'i ekleyin .
Sitenizi reCAPTCHA v3'e kaydedin ve reCAPTCHA v3 site anahtarınızı ve gizli anahtarınızı alın.
Firebase konsolunun Uygulama Kontrolü bölümündeki 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.
İsteğe bağlı : Uygulama kaydı 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 ödünleşimlerin farkında olun:
- Güvenlik: Daha kısa TTL'ler daha güçlü güvenlik sağlar çünkü sızdırılmış veya ele geçirilmiş bir belirtecin bir saldırgan tarafından kötüye kullanılabileceği pencereyi azaltır.
- Performans: Daha kısa TTL'ler, uygulamanızın daha sık doğrulama 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 sık yeniden doğrulama, kotanızı daha hızlı tüketir ve ücretli hizmetler için potansiyel olarak daha pahalıya mal olur. Kotalar ve sınırlar konusuna bakın.
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.
activate() için reCAPTCHA konsolunda oluşturduğunuz reCAPTCHA site anahtarınızı iletmeniz gerekecektir.
Web version 9
const { initializeApp } = require("firebase/app"); const { initializeAppCheck, ReCaptchaV3Provider } = require("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 version 8
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çlerini göndermeye başlayacak, ancak Firebase ürünleri, Firebase konsolunun Uygulama Kontrolü bölümünde zorlamayı etkinleştirene kadar belirteçlerin geçerli olmasını gerektirmeyecek.
Metrikleri izleyin ve yaptırımı etkinleştirin
Ancak, yaptırımı etkinleştirmeden önce, bunu yapmanın mevcut meşru 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 hizmetlere ilişkin Uygulama Kontrolü metriklerine bakabilirsiniz:
- Realtime Database, Cloud Firestore ve Cloud Storage için Uygulama Kontrolü istek ölçümlerini izleyin .
- Cloud Functions için Uygulama Kontrolü istek ölçümlerini izleyin .
Uygulama Kontrolü yaptırımı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ü yaptırımını etkinleştirebilirsiniz:
- Realtime Database, Cloud Firestore ve Cloud Storage için Uygulama Kontrolü zorlamasını etkinleştirin .
- Cloud Functions için Uygulama Kontrolü zorlamasını etkinleştirin .
Hata ayıklama ortamlarında Uygulama Kontrolü'nü kullanın
Uygulamanızı Uygulama Kontrolü için kaydettirdikten sonra, uygulamanızı, geliştirme sırasında yerel olarak veya bir sürekli entegrasyon (CI) ortamından, Uygulama Kontrolü'nün normalde geçerli olarak sınıflandırmadığı bir ortamda çalıştırmak istiyorsanız, oluşturabilirsiniz. gerçek bir doğrulama 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ı.