Gå til indhold

Tjek dine Firebase-regler mod 26 almindelige fejl

Indsæt sikkerhedsreglerne for Firestore, Firebase Storage eller Realtime Database. Tjekket læser teksten og viser, hvilke stier der lader hvem som helst læse eller skrive.

Indsæt dine regler

Du kan indsætte op til 48.000 tegn i alt på tværs af de tre felter.

Bekræft, at du er et menneske

Det holder automatiske forespørgsler væk fra tjenesten.

Dine regler behandles i hukommelsen på Cloudflares netværk og kasseres efter svaret. Intet gemmes.

Resultat

Dette er statisk analyse af indsat tekst. Den kan ikke se custom claims, App Check, datastruktur eller regler, der aldrig blev udgivet; karakteren dækker kun det, som de 26 tjek kan læse.

Hvad dette tjek ikke kan se

Tjekket læser kun den indsatte tekst. Det kan ikke se custom claims, App Check, hvordan dine data er opbygget eller regler, der aldrig blev udgivet, så et rent resultat betyder ikke, at projektet er sikkert.

Alle 26 tjek

TjekIDTjenesteAlvorlighed
Hvem som helst kan skrive til Firestorefs-open-writeFirestoreKritisk
Hvem som helst kan læse fra Firestorefs-open-readFirestoreMellem
Et rekursivt wildcard-match er åbentfs-recursive-wildcard-openFirestoreKritisk
Testtilstand-regler med udløbsdatofs-test-mode-expiryFirestoreKritisk
Enhver logget ind bruger kan skrivefs-auth-only-writeFirestoreHøj
Enhver logget ind bruger kan læsefs-auth-only-readFirestoreMellem
E-mail stoles på uden email_verifiedfs-email-unverifiedFirestoreMellem
Rolle læses fra forespørgslens datafs-role-from-requestFirestoreHøj
Et bredt wildcard skjuler strengere reglerfs-wildcard-shadowFirestoreHøj
Brugere kan skrive deres egen rolle (heuristik)fs-self-role-writeFirestoreHøj
Skrivninger accepterer alle felter (heuristik)fs-write-no-field-guardFirestoreMellem
read er ikke delt i get og listfs-read-not-splitFirestoreInfo
Ingen eksplicit standardafvisningfs-no-default-denyFirestoreInfo
Firestore-reglerne kunne ikke læsesfs-parse-errorFirestoreInfo
Hvem som helst kan læse Storage-filerst-open-readStorageMellem
Hvem som helst kan skrive til Storagest-open-writeStorageKritisk
Matchet {allPaths=**} er åbentst-recursive-wildcard-openStorageKritisk
Enhver logget ind bruger kan skrive til Storagest-auth-only-writeStorageHøj
Storage-reglerne kunne ikke læsesst-parse-errorStorageInfo
Hele databasen kan læses af hvem som helstdb-root-read-openRealtime DatabaseKritisk
Hele databasen kan skrives af hvem som helstdb-root-write-openRealtime DatabaseKritisk
En node kan læses af hvem som helstdb-open-readRealtime DatabaseMellem
En node kan skrives af hvem som helstdb-open-writeRealtime DatabaseHøj
En barneregel tilsidesættes af sin forælderdb-cascade-overrideRealtime DatabaseHøj
Alle loggede ind brugere kan læse eller skrive hele databasendb-auth-only-rootRealtime DatabaseHøj
Realtime Database-reglerne kunne ikke læsesdb-parse-errorRealtime DatabaseInfo

Spørgsmål

Hvad kigger Firebase-regeltjekket på?

Det læser de Firebase-sikkerhedsregler, du indsætter for Firestore, Cloud Storage og Realtime Database, og leder efter regler, der lader hvem som helst læse eller skrive, regler der kun kræver en logget ind bruger, tillid til input fra klienten og lignende mønstre.

Gemmes min regeltekst?

Nej. Reglerne behandles i hukommelsen på Cloudflares netværk og kasseres, når svaret er sendt. Intet gemmes eller logges sammen med teksten.

Hvor meget kan jeg indsætte?

Op til 48,000 tegn i alt på tværs af de tre felter. Hvis dine regler er længere, så indsæt den del, du vil have tjekket.

Hvorfor kan en åben læseregel være i orden?

Nogle data skal være offentlige, som et produktkatalog eller blogindlæg. For Firestore og Storage tæller tjekket en ubetinget læsning som et mellemstort problem og trækker 10 point, fordi det ikke kan vide, om dataene er private. Hvis dataene er offentlige med vilje, kan du acceptere den pris. Kun i roden af Realtime Database vurderer det en åben læsning som mere alvorlig.

Hvad er testtilstand-regler?

Når du opretter en Firestore-database i testtilstand, skriver konsollen en regel, der tillader alt frem til en dato, med request.time. Indtil da kan hvem som helst læse og skrive; bagefter afvises alt, og appen holder op med at virke. Erstat den med rigtige betingelser før lancering.

Hvordan kaskaderer reglerne i Realtime Database?

I Realtime Database gælder en regel, der giver adgang, for alt under den, og et barn kan ikke tage den tilbage. En strengere regel på et barn under en tilladende forælder gælder aldrig, og derfor rapporterer tjekket den.

Hvad betyder karakteren?

Den opsummerer kun det, tjekkene kan læse i den indsatte tekst: en score fra 100 minus et fradrag for hvert mislykket tjek, fastsat af det alvorligste problem, tjekket fandt, og ethvert kritisk problem giver F. Et mellempunkt kan også være en heuristik, der beder dig tjekke i hånden, fordi teksten alene ikke viser, om det er et reelt problem. Et A beviser ikke, at projektet er sikkert, fordi custom claims, App Check og selve dataene er uden for rækkevidde.