Sprytne Okazje — promocje, kody rabatowe i wyprzedaże

Generator reguł bezpieczeństwa Firebase

Generuj reguły bezpieczeństwa dla Firebase Firestore i Storage. Kontrola dostępu, autoryzacja użytkowników. Pobierz gotowy kod.

Bezpieczne (SSL)
Przetwarzanie Lokalne
100% Darmowe
Instrukcja
  • 1
    Wprowadź dane
    Wpisz treść, wklej tekst lub załaduj plik z dysku.
  • 2
    Kliknij przycisk
    Narzędzie natychmiast przetworzy Twoje dane w przeglądarce.
  • 3
    Pobierz wynik
    Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
function runTool() {
  return "Wynik gotowy w 0.1s";
}
Ustaw parametry i kliknij „Przetwórz”, aby zobaczyć wynik.

Oceń to narzędzie:

Powiązane narzędzia

Inne narzędzia, które mogą Ci się przydać

Generator reguł bezpieczeństwa Firebase — Firestore i Storage Rules

Generator reguł bezpieczeństwa Firebase tworzy szablony reguł bezpieczeństwa dla Firebase Firestore i Storage — dostosowane do typowych wzorców dostępu: wyłącznie autoryzowani użytkownicy, dostęp właściciela, reguły oparte na rolach (RBAC) i wiele innych.

Czym są reguły bezpieczeństwa Firebase?

Firebase Security Rules to język deklaratywny definiujący, kto i w jakich warunkach może czytać lub zapisywać dane w Firestore, Realtime Database i Storage. Reguły działają po stronie serwera — klient nie może ich obejść, nawet modyfikując kod JavaScript. Są kluczowym elementem bezpieczeństwa każdej aplikacji Firebase.

Domyślna konfiguracja Firebase po stworzeniu projektu zezwala na odczyt i zapis każdemu (publicznie) lub blokuje wszystkich — żadna z opcji nie jest dobra dla produkcji. Zawsze zdefiniuj granularne reguły przed wdrożeniem.

Podstawowe wzorce reguł Firestore

Tylko uwierzytelnieni: allow read, write: if request.auth != null; — tylko zalogowani użytkownicy. Tylko właściciel: allow read, write: if request.auth.uid == resource.data.userId; — tylko twórca dokumentu. Odczyt publiczny, zapis uwierzytelniony: allow read: if true; allow write: if request.auth != null; — idealny dla blogów. RBAC — role-based access: sprawdzenie roli użytkownika w osobnym dokumencie /users/{uid}. Walidacja danych: request.resource.data.title is string — sprawdzenie typów przed zapisem.

Reguły Firebase Storage

Reguły Storage są podobne do Firestore, ale operują na ścieżkach plików. Typowe wzorce: zezwolenie na upload zdjęcia tylko zalogowanym użytkownikom, limitowanie rozmiaru pliku (request.resource.size < 5 * 1024 * 1024 dla max 5MB), ograniczenie typu pliku (request.resource.contentType.matches('image/.*')), dostęp tylko do własnych plików (userId == request.auth.uid).

Testowanie i debugowanie reguł

Firebase Emulator Suite pozwala testować reguły lokalnie bez dotykania produkcji: firebase emulators:start. Firebase Console zawiera Rules Playground — możesz symulować żądania i sprawdzić, czy są akceptowane lub odrzucane. Zawsze testuj reguły przed wdrożeniem do produkcji — błąd może zablokować dostęp do danych lub otworzyć lukę bezpieczeństwa.

Najczęściej zadawane pytania

Jak zezwolić na odczyt dokumentu tylko jego właścicielowi?

W Firestore: match /users/{userId} { allow read, write: if request.auth.uid == userId; }. Dla zagnieżdżonych kolekcji: match /posts/{postId} { allow read, write: if request.auth.uid == resource.data.authorId; }. Zakładamy, że każdy dokument postu ma pole authorId ustawione na UID twórcy.

Jak zaimplementować role (admin, user) w Firebase Security Rules?

Przechowuj role w kolekcji /users/{uid}: {role: "admin"}. W regułach: function isAdmin() { return get(/databases/$(database)/documents/users/$(request.auth.uid)).data.role == "admin"; }. Następnie: allow write: if isAdmin();. Pamiętaj: funkcja get() kosztuje odczyt — unikaj wywołań w hot paths.

Jak walidować dane przed zapisem w Firestore?

Użyj request.resource.data dla walidacji nowych danych: allow write: if request.resource.data.title is string && request.resource.data.title.size() <= 100 && request.resource.data.createdAt == request.time;. To gwarantuje, że klient nie może zapisać nieprawidłowych danych, nawet przy bezpośrednim dostępie do SDK.

Czy Firebase Security Rules zastępują walidację po stronie serwera?

Nie — Firebase Security Rules są uzupełnieniem, nie zastępstwem, walidacji po stronie serwera. Reguły chronią przed nieautoryzowanym dostępem bezpośrednio do Firestore. Ale dla złożonych operacji biznesowych (transakcje, operacje na wielu dokumentach, integracje zewnętrzne) używaj Firebase Cloud Functions z własną logiką walidacji.

Co to jest request.auth.token i jak go używać w regułach?

request.auth.token zawiera zdekodowany JWT token Firebase Authentication — zawiera standardowe claims (uid, email, email_verified) i niestandardowe claims ustawione przez Firebase Admin SDK. Przykład: allow write: if request.auth.token.admin == true;. Niestandardowe claims ustawiasz przez Admin SDK: admin.auth().setCustomUserClaims(uid, {admin: true}).

Zainstaluj Webp.pl Miej narzędzia we własnej kieszeni!