Test og fejlfinding af sikkerhedsregler
Få større sikkerhed i Deres Realtime Database-regler ved at simulere forespørgsler, bruge Rules Playground, skrive automatiserede tests med emulatoren og læse afvisningsmeddelelser.
Test og fejlfinding af sikkerhedsregler er en gratis Firebase-godkendelse og apps med realtidsdatabase-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Firebase-godkendelse og apps med realtidsdatabase, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Firebase-godkendelse og apps med realtidsdatabase-kurset indeholder 4 lektioner i alt.
Hvorfor du skal teste dine regler
Security Rules er det eneste, der står mellem dine data og det åbne internet. En enkelt fejl kan eksponere private data eller blokere legitime brugere.
Det er lige så vigtigt at teste regler som at teste kode, og Firebase giver dig flere værktøjer til det.
Regeltestområdet
Firebase-konsollen indeholder et Rules Playground, hvor du simulerer en enkelt læsning eller skrivning uden at berøre rigtige data.
- Vælg læsning eller skrivning
- Angiv en sti og en godkendelsestilstand
- Se med det samme, om handlingen er tilladt eller afvist
Simulering af godkendelsestilstand
I simulatoren kan du køre som en ikke-godkendt bruger eller angive en falsk auth.uid og tilpassede krav. Sådan kontrollerer du, at brugerbaseret adgangskontrol fungerer korrekt.
Læsning af en afvisning
Når en anmodning afvises, fremhæver simulatoren den nøjagtige regel, der blev evalueret til falsk. Brug dette til at finde årsagen til, at en legitim anmodning blokeres.
Den lokale emulator
Brug Firebase Local Emulator Suite til gentagelig, automatiseret test. Den kører Realtime Database og dens regler helt på din maskine uden omkostninger til skyen.
firebase emulators:start --only databaseSkrivning af en regeltest
Biblioteket @firebase/rules-unit-testing lader dig kontrollere, at handlinger lykkes eller mislykkes. Det er guldstandarden for tillid til reglerne.
import { assertSucceeds, assertFails } from '@firebase/rules-unit-testing';
await assertSucceeds(authedDb.ref('users/alice').set({ name: 'Alice' }));
await assertFails(authedDb.ref('users/bob').set({ name: 'hax' }));Test begge udfald
Gode regeltest kontrollerer begge udfald:
- Godkendte brugere kan udføre tilladte handlinger (ingen fejlagtige afvisninger)
- Ikke-godkendte brugere kan ikke udføre forbudte handlinger (ingen sikkerhedshuller)
Hvis du kun tester den forventede vej, skjuler du de farlige huller.
Test af valideringsregler
Ud over adgang skal du teste dine .validate-regler: Bekræft, at forkert formaterede data afvises, og at korrekt formaterede data accepteres.
await assertFails(db.ref('age').set('not-a-number'));
await assertSucceeds(db.ref('age').set(30));Almindelige regel fejl
Vær opmærksom på disse hyppige fejl:
- Regler forplanter sig: En sand
.readhøjere oppe tilsidesætter underordnede regler - At glemme, at læse- og skriverettigheder er uafhængige
- At antage, at
authikke er null uden at kontrollere det
Fejlfinding med newData
I write-regler repræsenterer newData det, som skrivningen ville resultere i, mens data er den aktuelle værdi. Hvis du logger din begrundelse for disse i testtilfælde, bliver mange forvirrende afvisninger tydeligere.
{
"posts": {
"$id": {
".write": "!data.exists() || data.child('owner').val() === auth.uid"
}
}
}CI-integration
Kør dine emulatorbaserede regeltests i kontinuerlig integration, så en risikabel ændring af reglerne opdages, før den når produktion. Det gør sikkerhed til en garanti, der testes mod regressioner.
Hurtigt tjek
Test din forståelse af test af regler.
Opsummering
Du kan nu validere regler med sikkerhed.
- Brug Rules Playground til hurtige manuelle kontroller
- Brug Local Emulator til gentagelige kørsler
- Skriv tests med
assertSucceeds/assertFails - Dæk både adgang og validering i begge retninger
- Kør regeltests i CI
Lær Firebase-godkendelse og apps med realtidsdatabase med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 11
- Lektioner
- 44
Ofte stillede spørgsmål
Er lektionen “Test og fejlfinding af sikkerhedsregler” gratis?
Ja — alle 3 lektioner i læringssporet Firebase-godkendelse og apps med realtidsdatabase, inklusive “Test og fejlfinding af sikkerhedsregler”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Firebase-godkendelse og apps med realtidsdatabase-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Test og fejlfinding af sikkerhedsregler”?
Få større sikkerhed i Deres Realtime Database-regler ved at simulere forespørgsler, bruge Rules Playground, skrive automatiserede tests med emulatoren og læse afvisningsmeddelelser. Du øver dig i Firebase-godkendelse og apps med realtidsdatabase med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Firebase-godkendelse og apps med realtidsdatabase?
Der kræves ingen tidligere erfaring. Firebase-godkendelse og apps med realtidsdatabase på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.
Hvor lang tid tager lektionen “Test og fejlfinding af sikkerhedsregler”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Firebase-godkendelse og apps med realtidsdatabase-lektion?
Ja. Alle Firebase-godkendelse og apps med realtidsdatabase-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Forstå syntaksen for sikkerhedsregler
- Brugerbaseret adgangskontrol
- Validering af data med regler
- Test og fejlfinding af sikkerhedsregler