Forstå syntaksen i sikkerhetsregler
Forstå syntaksen og strukturen i Firebase Realtime Database Security Rules for å definere tilgangstillatelser
Forstå syntaksen i sikkerhetsregler er en gratis leksjon i Apper med Firebase Auth og Realtime Database på CoddyKit. Dette er leksjon 1 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Apper med Firebase Auth og Realtime Database, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Apper med Firebase Auth og Realtime Database inneholder totalt 4 leksjoner.
Hvorfor sikkerhetsregler?
Velkommen til sikkerhetsregler for Realtime Database! Disse reglene er svært viktige for å holde dataene dine sikre og kontrollere hvem som kan gjøre hva i Firebase-appen din.
Tenk på dem som vakter for databasen: De kontrollerer hver forespørsel om å lese, skrive eller oppdatere data og avgjør om den skal tillates eller ikke.
Regelfilen din
Sikkerhetsreglene for Firebase Realtime Database er definert i en JSON-fil, vanligvis kalt rules.json. Du laster opp denne filen til Firebase-prosjektet ditt.
Hele regelsettet ligger under en toppnivånøkkel kalt "rules", slik:
{
"rules": {
// Your security rules go here!
}
}Standardregler som åpner alt
Når du oppretter en Realtime Database for første gang, tilbyr Firebase ofte et svært åpent regelsett. Dette lar hvem som helst lese og skrive data, noe som er praktisk for å komme raskt i gang, men svært utrygt i produksjon!
Reglene ser slik ut:
{
"rules": {
".read": "true",
".write": "true"
}
}Målrette datastier
Regler brukes basert på stien til dataene dine. Du legger regler inni "rules"-objektet for å målrette bestemte deler av databasen, omtrent som mapper i et filsystem.
For eksempel for å angi regler for /users eller /messages:
{
"rules": {
"users": {
// Rules for data under /users
},
"messages": {
// Rules for data under /messages
}
}
}Grunnleggende lesetillatelser
Regelen ".read" bestemmer hvem som kan hente data fra en bestemt sti. Hvis en leseforespørsel samsvarer med en sti som har ".read": "true", tillates den. Hvis den har "false", avvises den.
Slik kan du angi lesetillatelser:
{
"rules": {
"publicPosts": {
".read": "true" // Anyone can read blog posts
},
"secretDocs": {
".read": "false" // No one can read secret documents
}
}
}Grunnleggende skrivetillatelser
På samme måte styrer regelen ".write" hvem som kan opprette, oppdatere eller slette data på en bestemt sti. Hvis den settes til "true", tillates skriving, mens "false" avviser den.
La oss se på noen eksempler på skriver regler:
{
"rules": {
"guestbook": {
".write": "true" // Anyone can sign the guestbook
},
"adminSettings": {
".write": "false" // No one can change admin settings yet
}
}
}Kombinere lesing og skriving
Du kan definere både ".read"- og ".write"-regler for den samme stien. Firebase evaluerer dem uavhengig av hverandre.
For eksempel for å gjøre en sti lesbar for alle, men skrivbar for ingen (foreløpig):
{
"rules": {
"announcements": {
".read": "true", // Everyone can see announcements
".write": "false" // No one can post new announcements
}
}
}Dynamiske stier med jokertegn
Hva om du har mange elementer under en sti, for eksempel individuelle brukerprofiler (/users/user123, /users/user456)? Du vil ikke skrive en regel for hver av dem!
Bruk en jokertegnvariabel med prefikset $ for å samsvare med enhver underordnet node. Denne variabelen kan deretter brukes i selve regelen.
{
"rules": {
"profileData": {
"$userId": {
".read": "true", // Anyone can read any user's profile
".write": "false" // But no one can edit them yet
}
}
}
}`auth` og `data`: Hjelpere for regler
Når du skriver mer avanserte regler, må du ofte kontrollere hvem som sender forespørselen, eller hvilke data som allerede finnes. Firebase tilbyr spesielle variabler for dette:
auth: Inneholder informasjon om den nåværende autentiserte brukeren (hvis det finnes en).data: Refererer til dataene som allerede finnes på stien som åpnes.newData: Refererer til dataene som skrives (bare for regler for skriving eller validering).
Med disse kan du lage smarte regler, for eksempel «bare eieren kan redigere profilen sin». Vi går nærmere inn på dette i kommende leksjoner!
Syntakssjekk
Gitt Firebase Realtime Database Security Rules nedenfor, hvilken påstand er riktig?
{
"rules": {
"posts": {
".read": "true",
"comments": {
".write": "false"
}
},
"users": {
"$userId": {
".read": "true"
}
}
}
}Leksjonsoppsummering
Godt jobbet! I denne leksjonen gikk vi gjennom den grunnleggende syntaksen for Firebase Realtime Database Security Rules:
- Reglene ligger i en
rules.json-fil. - Reglene nøstes for å målrette bestemte datastier.
".read"og".write"styrer lese- og skrivetilgang.- Jokertegn (
$variable) gjør reglene dynamiske for undernoder. - Du fikk en kort introduksjon til kontekstvariabler som
authogdata.
Deretter skal vi gå nærmere inn på hvordan du bruker disse reglene til brukerbasert tilgangskontroll!
Lær deg Apper med Firebase Auth og Realtime Database med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 11
- Leksjoner
- 44
Ofte stilte spørsmål
Er leksjonen «Forstå syntaksen i sikkerhetsregler» gratis?
Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Apper med Firebase Auth og Realtime Database, inkludert «Forstå syntaksen i sikkerhetsregler», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Apper med Firebase Auth og Realtime Database inneholder totalt 4 leksjoner.
Hva lærer jeg i «Forstå syntaksen i sikkerhetsregler»?
Forstå syntaksen og strukturen i Firebase Realtime Database Security Rules for å definere tilgangstillatelser Du øver på Apper med Firebase Auth og Realtime Database med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Apper med Firebase Auth og Realtime Database?
Ingen tidligere erfaring er nødvendig. Apper med Firebase Auth og Realtime Database på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.
Hvor lang tid tar leksjonen «Forstå syntaksen i sikkerhetsregler»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Apper med Firebase Auth og Realtime Database-leksjonen?
Ja. Alle Apper med Firebase Auth og Realtime Database-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Forstå syntaksen i sikkerhetsregler
- Brukerbasert tilgangskontroll
- Validering av data med regler
- Testing og feilsøking av sikkerhetsregler