Przykłady reguł bezpieczeństwa Firebase

Przykłady reguł bezpieczeństwa Firebase: Firestore, Storage, RTDB | We.Inc

Gotowe reguły bezpieczeństwa Firebase dla danych właściciela, publicznego odczytu, ról admina i walidacji w Firestore, Storage i Realtime Database oraz ich testy.

Przykłady reguł bezpieczeństwa Firebase

Reguły bezpieczeństwa Firebase decydują, kto może odczytywać i zapisywać każdy fragment danych w Twojej aplikacji. Zaczynaj każdy plik Firestore od rules_version = '2', zezwalaj na dostęp tylko wtedy, gdy request.auth jest ustawione, porównuj request.auth.uid z właścicielem dokumentu i sprawdzaj przychodzące pola przez request.resource.data. Testuj w emulatorze przed wdrożeniem.

Zmienne, których używasz najczęściej w każdym produkcie

Jeśli Twoja aplikacja, sklep lub strefa członkowska przechowuje dane w Firebase, reguły są jedyną rzeczą, która stoi między rekordami Twoich klientów a każdym, kto ma publiczną konfigurację Twojego projektu. Poniższe przepisy obejmują przypadki, których potrzebuje większość małych aplikacji. Filtruj według produktu, skopiuj jeden i zmień nazwy kolekcji na swoje.

Najczęściej zadawane pytania

Czym jest tryb testowy Firestore?

To jedna z dwóch opcji startowych przy tworzeniu bazy danych. Firebase opisuje tryb testowy jako dobry na początek, ale zaznacza, że pozwala każdemu odczytywać i nadpisywać Twoje dane. Tryb produkcyjny odrzuca wszystkie odczyty i zapisy z klientów mobilnych i webowych, dopóki nie napiszesz reguł.

Dlaczego moja aplikacja nagle dostaje błędy permission denied?

Poszukaj warunku porównującego request.time ze stałą datą, na przykład request.time < timestamp.date(2026, 11, 1). Po tej dacie każde żądanie kończy się błędem. Zastąp go prawdziwymi regułami zamiast przesuwać datę.

Ile wywołań get() może wykonać jedna reguła?

Firebase podaje limit 10 wywołań dostępu do dokumentów dla żądań dotyczących jednego dokumentu i zapytań oraz 20 dla odczytów wielu dokumentów, transakcji i zapisów wsadowych. Przekroczenie kończy się błędem permission denied.

Czy reguły bezpieczeństwa dotyczą mojego kodu serwerowego?

Nie. Reguły chronią żądania z klientów mobilnych i webowych. Firebase stwierdza, że serwerowe biblioteki klienckie omijają wszystkie Cloud Firestore Security Rules, więc dane wejściowe sprawdzaj osobno w kodzie serwera.

Jak testować reguły bez dotykania danych produkcyjnych?

Uruchom emulator poleceniem firebase emulators:start --only firestore, a następnie napisz testy z pakietem @firebase/rules-unit-testing, używając assertSucceeds i assertFails dla działań dozwolonych i blokowanych.

Jak czytać regułę

Role bez backendu

Reguły do usunięcia przed startem

Te wzorce pojawiają się w projektach startowych i tutorialach. Każdy z nich zostawia dane otwarte.

Ryzykowne reguły i bezpieczniejsze zamienniki

Testuj reguły w emulatorze

Uruchom emulator Firestore, a następnie sprawdź, czy właściciel może zapisywać, a nieznajomy nie.

Test jednostkowy reguł z @firebase/rules-unit-testing

Używa demonstracyjnego id projektu, więc nic nie trafia do produkcyjnej bazy. Uruchom go, gdy działa firebase emulators:start --only firestore.

Profile dostępne tylko dla właściciela

Każdy użytkownik odczytuje i edytuje tylko dokument, którego id jest równe jego id użytkownika.

Publiczny odczyt, zapis dla admina

Każdy może przeglądać katalog produktów, a zmieniać go mogą tylko użytkownicy, których profil ma rolę admin.

Walidacja nowych zamówień

Klient może utworzyć zamówienie tylko dla siebie, z dodatnią sumą i znanym statusem, i nie może go później edytować.

Użytkownicy nie mogą zmieniać własnej roli

Edycja profilu jest dozwolona tylko wtedy, gdy pole roli pozostaje dokładnie takie, jakie było.

Użytkownicy wgrywają własne obrazy poniżej 5MB

Pliki znajdują się w folderze każdego użytkownika. Wgrywane pliki muszą być obrazami mniejszymi niż 5MB, a każdy zalogowany może je oglądać.

Dane właściciela z walidacją

Reguły Realtime Database są w formacie JSON. $uid przechwytuje klucz, a newData to zapisywana wartość.

Przepisy na reguły

Pokaż przepisy dla

Wszystkie produkty

Cloud Firestore

Cloud Storage

Realtime Database

Pokazano przepisy: {n}

Zacznij za darmo · Bez karty kredytowej

Powiązane: Poradniki

Produkt

Dla kogo

Funkcje

Zasoby

Firma

Mapa strony