Pāriet uz saturu

Pārbaudiet Firebase drošības noteikumus pēc 26 biežām kļūdām

Ielīmējiet Firestore drošības noteikumus, Firebase Storage noteikumus vai Realtime Database noteikumus. Pārbaude nolasa tekstu un parāda, kuri ceļi ļauj ikvienam lasīt vai rakstīt.

Ielīmējiet savus noteikumus

Trijos laukos kopā var ielīmēt ne vairāk kā 48 000 rakstzīmju.

Apstipriniet, ka esat cilvēks

Tas neļauj automātiskiem pieprasījumiem noslogot pakalpojumu.

Jūsu noteikumi tiek apstrādāti atmiņā Cloudflare tīklā un pēc atbildes tiek izmesti. Nekas netiek glabāts.

Rezultāts

Tā ir ielīmētā teksta statiska analīze. Tā neredz pielāgotos claims, App Check, datu formu un noteikumus, kas nekad nav izvietoti; vērtējums aptver tikai to, ko spēj nolasīt 26 pārbaudes.

Ko šī pārbaude neredz

Pārbaude nolasa tikai ielīmēto tekstu. Tā neredz pielāgotos claims, App Check, jūsu datu formu un noteikumus, kas nekad nav izvietoti, tāpēc tīrs rezultāts nenozīmē, ka projekts ir drošs.

Visas 26 pārbaudes

PārbaudeIDPakalpojumsSvarīgums
Ikviens var rakstīt Firestorefs-open-writeFirestoreKritiska
Ikviens var lasīt no Firestorefs-open-readFirestoreVidēja
Rekursīvs aizstājējzīmes match ir atvērtsfs-recursive-wildcard-openFirestoreKritiska
Testa režīma noteikumi ar derīguma beigu datumufs-test-mode-expiryFirestoreKritiska
Rakstīt var jebkurš pierakstījies lietotājsfs-auth-only-writeFirestoreAugsta
Lasīt var jebkurš pierakstījies lietotājsfs-auth-only-readFirestoreVidēja
E-pastam uzticas bez email_verifiedfs-email-unverifiedFirestoreVidēja
Loma tiek nolasīta no pieprasījuma datiemfs-role-from-requestFirestoreAugsta
Plašs aizstājējzīmes match slēpj stingrākus noteikumusfs-wildcard-shadowFirestoreAugsta
Lietotāji var ierakstīt savu lomu (heiristika)fs-self-role-writeFirestoreAugsta
Rakstīšana pieņem jebkurus laukus (heiristika)fs-write-no-field-guardFirestoreVidēja
read nav sadalīts uz get un listfs-read-not-splitFirestoreInfo
Nav skaidra noklusējuma aizliegumafs-no-default-denyFirestoreInfo
Firestore noteikumus nevarēja nolasītfs-parse-errorFirestoreInfo
Ikviens var lasīt Storage failusst-open-readStorageVidēja
Ikviens var rakstīt Storagest-open-writeStorageKritiska
Match {allPaths=**} ir atvērtsst-recursive-wildcard-openStorageKritiska
Storage rakstīt var jebkurš pierakstījies lietotājsst-auth-only-writeStorageAugsta
Storage noteikumus nevarēja nolasītst-parse-errorStorageInfo
Visu datubāzi var lasīt ikviensdb-root-read-openRealtime DatabaseKritiska
Visā datubāzē var rakstīt ikviensdb-root-write-openRealtime DatabaseKritiska
Mezglu var lasīt ikviensdb-open-readRealtime DatabaseVidēja
Mezglā var rakstīt ikviensdb-open-writeRealtime DatabaseAugsta
Pakārtotā mezgla noteikumu pārspēj vecāksdb-cascade-overrideRealtime DatabaseAugsta
Jebkurš pierakstījies lietotājs var lasīt vai rakstīt visu datubāzidb-auth-only-rootRealtime DatabaseAugsta
Realtime Database noteikumus nevarēja nolasītdb-parse-errorRealtime DatabaseInfo

Jautājumi

Uz ko Firebase noteikumu pārbaude skatās?

Tā nolasa Firebase drošības noteikumus, ko ielīmējat Firestore, Cloud Storage un Realtime Database, un meklē noteikumus, kas ļauj ikvienam lasīt vai rakstīt, noteikumus, kas prasa tikai pierakstītu lietotāju, uzticēšanos klienta ievadītajam un līdzīgus paraugus.

Vai mans noteikumu teksts tiek glabāts?

Nē. Noteikumi tiek apstrādāti atmiņā Cloudflare tīklā un pēc atbildes nosūtīšanas tiek izmesti. Kopā ar tekstu nekas netiek saglabāts vai žurnalēts.

Cik daudz var ielīmēt?

Kopā līdz 48,000 rakstzīmēm trijos laukos. Ja jūsu noteikumi ir garāki, ielīmējiet daļu, ko vēlaties pārbaudīt.

Kāpēc publiska lasīšana var būt pieļaujama?

Daži dati ir paredzēti publiski, piemēram, produktu katalogs vai bloga ieraksti. Firestore un Storage gadījumā pārbaude uzskata lasīšanu bez nosacījuma par vidēju problēmu un atņem 10 punktus, jo tā nevar zināt, vai dati ir privāti. Ja dati ir publiski ar nolūku, šo cenu varat pieņemt. Tikai Realtime Database saknē tā vērtē atvērtu lasīšanu kā smagāku.

Kas ir testa režīma noteikumi?

Kad Firestore datubāzi izveidojat testa režīmā, konsole ieraksta noteikumu, kas līdz datumam atļauj visu, izmantojot request.time. Līdz tam datumam ikviens var lasīt un rakstīt; pēc tam viss tiek liegts un lietotne pārstāj darboties. Pirms palaišanas aizstājiet to ar reāliem nosacījumiem.

Kā Realtime Database noteikumi tiek mantoti?

Realtime Database noteikums, kas piešķir piekļuvi, attiecas uz visu zem tā, un pakārtotais mezgls to nevar atcelt. Stingrāks noteikums pakārtotajā mezglā zem brīvi atļaujoša vecāka nekad netiek piemērots, tāpēc pārbaude to ziņo.

Ko nozīmē vērtējums?

Tas apkopo tikai to, ko pārbaudes spēj nolasīt ielīmētajā tekstā: rezultāts no 100 mīnus sods par katru neizturēto pārbaudi, ko nosaka smagākā problēma, ko šī pārbaude atrada, un jebkura kritiska problēma ir F. Vidēja pozīcija var būt arī heiristika, kas lūdz pārbaudīt ar roku, jo tikai no teksta nevar redzēt, vai tā ir īsta problēma. Vērtējums A nepierāda, ka projekts ir drošs, jo pielāgotie claims, App Check un paši dati ir ārpus sasniedzamības.