Hoppa till innehållet

Kontrollera dina Firebase-regler mot 26 vanliga misstag

Klistra in dina säkerhetsregler för Firestore, Firebase Storage eller Realtime Database. Kontrollen läser texten och visar vilka sökvägar som låter vem som helst läsa eller skriva.

Klistra in dina regler

Du kan klistra in upp till 48 000 tecken sammanlagt i de tre fälten.

Bekräfta att du är en människa

Det håller automatiska förfrågningar borta från tjänsten.

Dina regler bearbetas i minnet i Cloudflares nätverk och raderas efter svaret. Ingenting sparas.

Resultat

Det här är statisk analys av inklistrad text. Den ser inte custom claims, App Check, datans uppbyggnad eller regler som aldrig har publicerats; betyget gäller bara det som de 26 kontrollerna kan läsa.

Vad den här kontrollen inte kan se

Kontrollen läser bara den inklistrade texten. Den ser inte custom claims, App Check, hur din data är uppbyggd eller regler som aldrig har publicerats, så ett rent resultat betyder inte att projektet är säkert.

Alla 26 kontroller

KontrollIDTjänstAllvarlighetsgrad
Vem som helst kan skriva till Firestorefs-open-writeFirestoreKritisk
Vem som helst kan läsa från Firestorefs-open-readFirestoreMedel
En rekursiv wildcard-match är öppenfs-recursive-wildcard-openFirestoreKritisk
Testläge-regler med utgångsdatumfs-test-mode-expiryFirestoreKritisk
Vilken inloggad användare som helst kan skrivafs-auth-only-writeFirestoreHög
Vilken inloggad användare som helst kan läsafs-auth-only-readFirestoreMedel
E-post betros utan email_verifiedfs-email-unverifiedFirestoreMedel
Roll läses från begärans datafs-role-from-requestFirestoreHög
En bred wildcard döljer striktare reglerfs-wildcard-shadowFirestoreHög
Användare kan skriva sin egen roll (heuristik)fs-self-role-writeFirestoreHög
Skrivningar accepterar vilka fält som helst (heuristik)fs-write-no-field-guardFirestoreMedel
read är inte delad i get och listfs-read-not-splitFirestoreInfo
Ingen uttrycklig standardnekanfs-no-default-denyFirestoreInfo
Firestore-reglerna kunde inte tolkasfs-parse-errorFirestoreInfo
Vem som helst kan läsa Storage-filerst-open-readStorageMedel
Vem som helst kan skriva till Storagest-open-writeStorageKritisk
Matchen {allPaths=**} är öppenst-recursive-wildcard-openStorageKritisk
Vilken inloggad användare som helst kan skriva till Storagest-auth-only-writeStorageHög
Storage-reglerna kunde inte tolkasst-parse-errorStorageInfo
Hela databasen kan läsas av vem som helstdb-root-read-openRealtime DatabaseKritisk
Hela databasen kan skrivas av vem som helstdb-root-write-openRealtime DatabaseKritisk
En nod kan läsas av vem som helstdb-open-readRealtime DatabaseMedel
En nod kan skrivas av vem som helstdb-open-writeRealtime DatabaseHög
En barnregel överstyrs av sin förälderdb-cascade-overrideRealtime DatabaseHög
Alla inloggade användare kan läsa eller skriva hela databasendb-auth-only-rootRealtime DatabaseHög
Realtime Database-reglerna kunde inte tolkasdb-parse-errorRealtime DatabaseInfo

Frågor

Vad tittar Firebase-regelkontrollen på?

Den läser de Firebase-säkerhetsregler du klistrar in för Firestore, Cloud Storage och Realtime Database och letar efter regler som låter vem som helst läsa eller skriva, regler som bara kräver en inloggad användare, förtroende för indata från klienten och liknande mönster.

Sparas min regeltext?

Nej. Reglerna bearbetas i minnet i Cloudflares nätverk och raderas när svaret har skickats. Ingenting sparas eller loggas tillsammans med texten.

Hur mycket kan jag klistra in?

Upp till 48,000 tecken sammanlagt i de tre fälten. Om dina regler är längre, klistra in den del du vill ha kontrollerad.

Varför kan en öppen läsregel vara okej?

Vissa data ska vara publika, som en produktkatalog eller blogginlägg. För Firestore och Storage räknar kontrollen en villkorslös läsregel som ett medelproblem och drar 10 poäng, eftersom den inte kan veta om datan är privat. Om datan är publik med flit kan du acceptera den kostnaden. Bara i roten av Realtime Database bedömer den en öppen läsning som allvarligare.

Vad är testläge-regler?

När du skapar en Firestore-databas i testläge skriver konsolen en regel som tillåter allt fram till ett datum, med request.time. Fram till då kan vem som helst läsa och skriva; efteråt nekas allt och appen slutar fungera. Byt ut den mot riktiga villkor före lansering.

Hur kaskaderar reglerna i Realtime Database?

I Realtime Database gäller en regel som ger åtkomst för allt under den, och ett barn kan inte ta tillbaka den. En striktare regel på ett barn under en tillåtande förälder gäller aldrig, och därför rapporterar kontrollen den.

Vad betyder betyget?

Det sammanfattar bara det som kontrollerna kan läsa i den inklistrade texten: en poäng från 100 minus ett avdrag för varje misslyckad kontroll, satt av det allvarligaste problem kontrollen hittade, och varje kritiskt problem ger F. En medelpunkt kan också vara en heuristik som ber dig kontrollera för hand, eftersom texten ensam inte visar om det är ett verkligt problem. Ett A bevisar inte att projektet är säkert, eftersom custom claims, App Check och själva datan ligger utom räckhåll.