Firebase Security Rules – Detaylı Rehber

 

Firebase Security Rules – Detaylı Rehber

🔐 Firebase Security Rules – Detaylı Rehber

Firebase Security Rules, verilerinizi korumak için en kritik güvenlik katmanıdır. Bu rehberde Firestore, Realtime Database ve Storage için kuralları adım adım öğreneceksiniz.

1. Security Rules Nedir?

Firebase servislerinde erişim kontrolünü sağlar. Kullanıcıların hangi veriye okuma/yazma yetkisi olduğunu tanımlar ve Authentication ile entegre çalışır.

2. Temel Yapı

service cloud.firestore {
  match /databases/{database}/documents {
    match /users/{userId} {
      allow read, write: if request.auth != null && request.auth.uid == userId;
    }
  }
}

Bu kural, sadece giriş yapmış kullanıcıların kendi verilerini okumasına/yazmasına izin verir.

3. Anahtar Kavramlar

  • request.auth: Kullanıcı kimliği
  • request.resource: Yazılmak istenen yeni veri
  • resource: Mevcut veri
  • match: Koleksiyon/doküman yolu
  • allow: İzin verilen işlemler (read, write, update, delete)

4. Firestore Security Rules Örnekleri

a) Kullanıcıya Özel Veri

match /users/{userId} {
  allow read, write: if request.auth.uid == userId;
}

b) Sadece Okuma İzni

match /public/{docId} {
  allow read: if true;
  allow write: if false;
}

c) Role-Based Access

match /admins/{docId} {
  allow read, write: if request.auth.token.role == "admin";
}

5. Realtime Database Security Rules

{
  "rules": {
    "users": {
      "$user_id": {
        ".read": "auth != null && auth.uid == $user_id",
        ".write": "auth != null && auth.uid == $user_id"
      }
    }
  }
}

6. Cloud Storage Security Rules

service firebase.storage {
  match /b/{bucket}/o {
    match /userFiles/{userId}/{fileName} {
      allow read, write: if request.auth.uid == userId;
    }
  }
}

7. En İyi Uygulamalar

  • Varsayılan olarak erişimi kapat (allow read, write: if false;)
  • Minimum yetki ver
  • Firebase Emulator ile test et
  • Zaman bazlı kurallar tanımla
  • Veri doğrulama ekle

8. Emulator ile Test

firebase emulators:start --only firestore

Test senaryoları yazarak kuralların doğru çalıştığını kontrol edebilirsiniz.

9. Sık Yapılan Hatalar

  • allow read, write: if true; → Tamamen açık erişim, çok tehlikeli!
  • Authentication olmadan veri erişimi
  • Role kontrolünü sadece client tarafında yapmak

Bu rehber SEO uyumlu olarak hazırlanmıştır. Firebase Security Rules ile verilerinizi güvenli hale getirebilirsiniz.

Yorumlar

Bu blogdaki popüler yayınlar

YouTube ile Web Sitesi SEO'su: Kapsamlı Strateji Rehberi

Uygulama Reklam Butonu