Patikrinkite Firebase saugumo taisykles pagal 26 dažnų klaidų
Įklijuokite Firestore saugumo taisykles, Firebase Storage taisykles arba Realtime Database taisykles. Patikra perskaito tekstą ir parodo, kurie keliai leidžia visiems skaityti ar rašyti.
Rezultatas
Tai statinė įklijuoto teksto analizė. Ji nemato pasirinktinių claims, App Check, duomenų formos ir taisyklių, kurios niekada nebuvo įdiegtos; įvertinimas apima tik tai, ką gali perskaityti 26 patikros.
Ko ši patikra nemato
Patikra skaito tik įklijuotą tekstą. Ji nemato pasirinktinių claims, App Check, jūsų duomenų formos ir taisyklių, kurios niekada nebuvo įdiegtos, todėl švarus rezultatas nereiškia, kad projektas saugus.
Visos 26 patikros
| Patikra | ID | Paslauga | Svarba |
|---|---|---|---|
| Bet kas gali rašyti į Firestore | fs-open-write | Firestore | Kritinė |
| Bet kas gali skaityti iš Firestore | fs-open-read | Firestore | Vidutinė |
| Rekursyvus pakaitos simbolio match atviras | fs-recursive-wildcard-open | Firestore | Kritinė |
| Bandomojo režimo taisyklės su galiojimo pabaigos data | fs-test-mode-expiry | Firestore | Kritinė |
| Rašyti gali bet kuris prisijungęs naudotojas | fs-auth-only-write | Firestore | Aukšta |
| Skaityti gali bet kuris prisijungęs naudotojas | fs-auth-only-read | Firestore | Vidutinė |
| El. paštu pasitikima be email_verified | fs-email-unverified | Firestore | Vidutinė |
| Rolė skaitoma iš užklausos duomenų | fs-role-from-request | Firestore | Aukšta |
| Platus pakaitos simbolio match slepia griežtesnes taisykles | fs-wildcard-shadow | Firestore | Aukšta |
| Naudotojai gali įrašyti savo rolę (euristika) | fs-self-role-write | Firestore | Aukšta |
| Rašymas priima bet kokius laukus (euristika) | fs-write-no-field-guard | Firestore | Vidutinė |
| read nesuskaidytas į get ir list | fs-read-not-split | Firestore | Info |
| Nėra aiškaus numatytojo draudimo | fs-no-default-deny | Firestore | Info |
| Firestore taisyklių nepavyko perskaityti | fs-parse-error | Firestore | Info |
| Bet kas gali skaityti Storage failus | st-open-read | Storage | Vidutinė |
| Bet kas gali rašyti į Storage | st-open-write | Storage | Kritinė |
| Match {allPaths=**} atviras | st-recursive-wildcard-open | Storage | Kritinė |
| Į Storage rašyti gali bet kuris prisijungęs naudotojas | st-auth-only-write | Storage | Aukšta |
| Storage taisyklių nepavyko perskaityti | st-parse-error | Storage | Info |
| Visą duomenų bazę gali skaityti bet kas | db-root-read-open | Realtime Database | Kritinė |
| Į visą duomenų bazę gali rašyti bet kas | db-root-write-open | Realtime Database | Kritinė |
| Mazgą gali skaityti bet kas | db-open-read | Realtime Database | Vidutinė |
| Į mazgą gali rašyti bet kas | db-open-write | Realtime Database | Aukšta |
| Vaikinio mazgo taisyklę nustelbia tėvinis | db-cascade-override | Realtime Database | Aukšta |
| Bet kuris prisijungęs naudotojas gali skaityti ar rašyti visą duomenų bazę | db-auth-only-root | Realtime Database | Aukšta |
| Realtime Database taisyklių nepavyko perskaityti | db-parse-error | Realtime Database | Info |
Klausimai
Ką tikrina Firebase taisyklių patikra?
Ji skaito Firebase saugumo taisykles, kurias įklijuojate Firestore, Cloud Storage ir Realtime Database, ir ieško taisyklių, kurios leidžia visiems skaityti ar rašyti, taisyklių, reikalaujančių tik prisijungusio naudotojo, pasitikėjimo kliento įvestimi ir panašių šablonų.
Ar mano taisyklių tekstas saugomas?
Ne. Taisyklės apdorojamos atmintyje Cloudflare tinkle ir išsiuntus atsakymą išmetamos. Kartu su tekstu niekas neišsaugoma ir nežurnalinama.
Kiek galima įklijuoti?
Iš viso iki 48,000 simbolių trijuose laukuose. Jei jūsų taisyklės ilgesnės, įklijuokite dalį, kurią norite patikrinti.
Kodėl vieša skaitymo taisyklė gali būti tinkama?
Kai kurie duomenys skirti būti vieši, pavyzdžiui, produktų katalogas ar tinklaraščio įrašai. Firestore ir Storage atveju patikra besąlyginį skaitymą laiko vidutine problema ir atima 10 taškų, nes ji negali žinoti, ar duomenys privatūs. Jei duomenys sąmoningai vieši, šią kainą galite priimti. Tik Realtime Database šaknyje ji atvirą skaitymą vertina kaip rimtesnį.
Kas yra bandomojo režimo taisyklės?
Kai Firestore duomenų bazę sukuriate bandomuoju režimu, konsolė įrašo taisyklę, kuri iki datos leidžia viską, naudodama request.time. Iki tos datos bet kas gali skaityti ir rašyti; vėliau viskas draudžiama ir programa nustoja veikti. Prieš paleidimą pakeiskite ją tikromis sąlygomis.
Kaip Realtime Database taisyklės paveldimos?
Realtime Database taisyklė, suteikianti prieigą, galioja viskam žemiau, o vaikinis mazgas jos atšaukti negali. Griežtesnė vaikinio mazgo taisyklė po atlaidžiu tėviniu mazgu niekada netaikoma, todėl patikra apie tai praneša.
Ką reiškia įvertinimas?
Jis apibendrina tik tai, ką patikros gali perskaityti įklijuotame tekste: rezultatas iš 100 minus bauda už kiekvieną nepavykusią patikrą, nustatoma pagal sunkiausią joje rastą problemą, o bet kuri kritinė problema yra F. Vidutinė pozicija taip pat gali būti euristika, prašanti patikrinti rankiniu būdu, nes vien iš teksto nematyti, ar tai tikra problema. Įvertinimas A neįrodo, kad projektas saugus, nes pasirinktiniai claims, App Check ir patys duomenys yra nepasiekiami.