Tarkista Firebase-sääntösi 26 yleistä virhettä vastaan
Liitä Firestoren, Firebase Storagen tai Realtime Databasen tietoturvasäännöt. Tarkistus lukee tekstin ja näyttää, mitkä polut sallivat kenelle tahansa lukemisen tai kirjoittamisen.
Tulos
Tämä on liitetyn tekstin staattista analyysiä. Se ei näe custom claimseja, App Checkiä, datan rakennetta eikä sääntöjä, joita ei koskaan julkaistu; arvosana kattaa vain sen, minkä 26 tarkistusta voi lukea.
Mitä tämä tarkistus ei näe
Tarkistus lukee vain liitetyn tekstin. Se ei näe custom claimseja, App Checkiä, datasi rakennetta eikä sääntöjä, joita ei koskaan julkaistu, joten puhdas tulos ei tarkoita, että projekti olisi turvallinen.
Kaikki 26 tarkistusta
| Tarkistus | ID | Palvelu | Vakavuus |
|---|---|---|---|
| Kuka tahansa voi kirjoittaa Firestoreen | fs-open-write | Firestore | Kriittinen |
| Kuka tahansa voi lukea Firestoresta | fs-open-read | Firestore | Keskitaso |
| Rekursiivinen wildcard-match on auki | fs-recursive-wildcard-open | Firestore | Kriittinen |
| Testitilan säännöt vanhenemispäivällä | fs-test-mode-expiry | Firestore | Kriittinen |
| Kuka tahansa kirjautunut käyttäjä voi kirjoittaa | fs-auth-only-write | Firestore | Korkea |
| Kuka tahansa kirjautunut käyttäjä voi lukea | fs-auth-only-read | Firestore | Keskitaso |
| Sähköpostiin luotetaan ilman email_verified-tarkistusta | fs-email-unverified | Firestore | Keskitaso |
| Rooli luetaan pyynnön datasta | fs-role-from-request | Firestore | Korkea |
| Laaja wildcard piilottaa tiukemmat säännöt | fs-wildcard-shadow | Firestore | Korkea |
| Käyttäjät voivat kirjoittaa oman roolinsa (heuristiikka) | fs-self-role-write | Firestore | Korkea |
| Kirjoitukset hyväksyvät mitkä tahansa kentät (heuristiikka) | fs-write-no-field-guard | Firestore | Keskitaso |
| read-sääntöä ei ole jaettu get- ja list-sääntöihin | fs-read-not-split | Firestore | Info |
| Ei nimenomaista oletuskieltoa | fs-no-default-deny | Firestore | Info |
| Firestore-sääntöjä ei voitu jäsentää | fs-parse-error | Firestore | Info |
| Kuka tahansa voi lukea Storage-tiedostoja | st-open-read | Storage | Keskitaso |
| Kuka tahansa voi kirjoittaa Storageen | st-open-write | Storage | Kriittinen |
| Match {allPaths=**} on auki | st-recursive-wildcard-open | Storage | Kriittinen |
| Kuka tahansa kirjautunut käyttäjä voi kirjoittaa Storageen | st-auth-only-write | Storage | Korkea |
| Storage-sääntöjä ei voitu jäsentää | st-parse-error | Storage | Info |
| Kuka tahansa voi lukea koko tietokannan | db-root-read-open | Realtime Database | Kriittinen |
| Kuka tahansa voi kirjoittaa koko tietokantaan | db-root-write-open | Realtime Database | Kriittinen |
| Kuka tahansa voi lukea solmun | db-open-read | Realtime Database | Keskitaso |
| Kuka tahansa voi kirjoittaa solmuun | db-open-write | Realtime Database | Korkea |
| Vanhempi ohittaa lapsen säännön | db-cascade-override | Realtime Database | Korkea |
| Kuka tahansa kirjautunut käyttäjä voi lukea tai kirjoittaa koko tietokantaa | db-auth-only-root | Realtime Database | Korkea |
| Realtime Databasen sääntöjä ei voitu jäsentää | db-parse-error | Realtime Database | Info |
Kysymyksiä
Mitä Firebase-sääntötarkistus katsoo?
Se lukee Firestoren, Cloud Storagen ja Realtime Databasen Firebase-tietoturvasäännöt, jotka liität, ja etsii sääntöjä, jotka sallivat kenelle tahansa lukemisen tai kirjoittamisen, sääntöjä jotka vaativat vain kirjautuneen käyttäjän, asiakkaan syötteeseen luottamista ja vastaavia kaavoja.
Tallennetaanko sääntöjeni teksti?
Ei. Säännöt käsitellään muistissa Cloudflaren verkossa ja hylätään, kun vastaus on lähetetty. Mitään ei tallenneta eikä kirjata tekstin mukana.
Kuinka paljon voin liittää?
Enintään 48,000 merkkiä yhteensä kolmessa kentässä. Jos sääntösi ovat pidemmät, liitä se osa, jonka haluat tarkistettavan.
Miksi avoin lukusääntö voi olla kunnossa?
Osa datasta on tarkoitettu julkiseksi, kuten tuotekatalogi tai blogikirjoitukset. Firestoressa ja Storagessa tarkistus laskee ehdottoman lukuoikeuden keskitason ongelmaksi ja vähentää 10 pistettä, koska se ei voi tietää, onko data yksityistä. Jos data on tarkoituksella julkista, voit hyväksyä tämän hinnan. Vain Realtime Databasen juuressa se arvioi avoimen lukuoikeuden vakavammaksi.
Mitä ovat testitilan säännöt?
Kun luot Firestore-tietokannan testitilassa, konsoli kirjoittaa säännön, joka sallii kaiken tiettyyn päivämäärään asti request.time-arvolla. Siihen asti kuka tahansa voi lukea ja kirjoittaa; sen jälkeen kaikki evätään ja sovellus lakkaa toimimasta. Korvaa se oikeilla ehdoilla ennen julkaisua.
Miten Realtime Databasen säännöt kaskadoituvat?
Realtime Databasessa pääsyn antava sääntö koskee kaikkea sen alla, eikä lapsi voi ottaa sitä takaisin. Tiukempi sääntö lapsella sallivan vanhemman alla ei koskaan toteudu, minkä vuoksi tarkistus raportoi sen.
Mitä arvosana tarkoittaa?
Se tiivistää vain sen, minkä tarkistukset voivat lukea liitetystä tekstistä: pisteet sadasta miinus vähennys jokaisesta epäonnistuneesta tarkistuksesta, määräytyen vakavimman sen löytämän ongelman mukaan, ja jokainen kriittinen ongelma antaa F:n. Keskitason kohta voi olla myös heuristiikka, joka pyytää tarkistamaan käsin, koska pelkkä teksti ei näytä, onko kyse todellisesta ongelmasta. A ei todista projektin olevan turvallinen, koska custom claims, App Check ja itse data ovat ulottumattomissa.