Security rules testen en debuggen
Krijg vertrouwen in uw Realtime Database-regels door requests te simuleren, de Rules Playground te gebruiken, geautomatiseerde tests met de emulator te schrijven en afwijzingsmeldingen te lezen.
Security rules testen en debuggen is een gratis Apps met Firebase-authenticatie en realtime database-les op CoddyKit. Dit is les 4 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Apps met Firebase-authenticatie en realtime database. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Apps met Firebase-authenticatie en realtime database bevat in totaal 4 lessen.
Waarom je je regels moet testen
Security Rules zijn het enige dat tussen je gegevens en het openbare internet staat. Eén fout kan privégegevens blootstellen of legitieme gebruikers blokkeren.
Regels testen is net zo belangrijk als code testen, en Firebase biedt verschillende hulpmiddelen om dit te doen.
De Rules Playground
De Firebase-console bevat een Rules Playground waarin je één lees- of schrijfbewerking simuleert zonder echte gegevens aan te raken.
- Kies lezen of schrijven
- Stel een pad en de auth-status in
- Bekijk direct of de bewerking wordt toegestaan of geweigerd
De auth-status simuleren
In de simulator kun je handelen als een niet-geauthenticeerde gebruiker of een valse auth.uid en aangepaste claims opgeven. Zo controleer je of toegangsbeheer op basis van gebruikers correct werkt.
Een weigering lezen
Wanneer een verzoek wordt geweigerd, markeert de simulator de exacte regel die als onwaar is geëvalueerd. Gebruik dit om vast te stellen waarom een legitiem verzoek wordt geblokkeerd.
De lokale emulator
Gebruik voor herhaalbare, geautomatiseerde tests de Firebase Local Emulator Suite. Deze voert Realtime Database en de bijbehorende regels volledig op je computer uit, zonder cloudkosten.
firebase emulators:start --only databaseEen regeltest schrijven
Met de bibliotheek @firebase/rules-unit-testing kun je controleren of bewerkingen slagen of mislukken. Dit is de gouden standaard voor vertrouwen in je regels.
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 beide uitkomsten
Goede regeltests controleren beide uitkomsten:
- Geautoriseerde gebruikers kunnen toegestane acties uitvoeren (geen onterechte weigeringen)
- Niet-geautoriseerde gebruikers kunnen geen verboden acties uitvoeren (geen beveiligingslekken)
Als je alleen het gewenste pad test, blijven gevaarlijke hiaten verborgen.
Validatieregels testen
Test naast toegang ook je .validate-regels: controleer of onjuist gevormde gegevens worden geweigerd en goed gevormde gegevens worden geaccepteerd.
await assertFails(db.ref('age').set('not-a-number'));
await assertSucceeds(db.ref('age').set(30));Veelvoorkomende fouten in regels
Let op deze veelgemaakte fouten:
- Regels cascaderen: een ware
.readhoger in de structuur overschrijft onderliggende regels - Vergeten dat lees- en schrij regels onafhankelijk zijn
- Aannemen dat
authniet null is zonder dit te controleren
Fouten opsporen met newData
Binnen schrijfrules staat newData voor wat de schrijfactie zou opleveren en is data de huidige waarde. Als je in testgevallen je redenering hierover logt, worden veel verwarrende weigeringen duidelijker.
{
"posts": {
"$id": {
".write": "!data.exists() || data.child('owner').val() === auth.uid"
}
}
}CI-integratie
Voer je emulatorgebaseerde regeltests uit in continue integratie, zodat een risicovolle wijziging in regels wordt onderschept voordat die productie bereikt. Zo wordt beveiliging een garantie die met regressietests wordt gecontroleerd.
Korte controle
Test je begrip van het testen van regels.
Samenvatting
Je kunt regels nu met vertrouwen valideren.
- Gebruik de Rules Playground voor snelle handmatige controles
- Gebruik de Local Emulator voor herhaalbare uitvoeringen
- Schrijf tests met
assertSucceeds/assertFails - Dek zowel toegang als validatie af, in beide richtingen
- Voer regeltests uit in CI
Leer Apps met Firebase-authenticatie en realtime database met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 11
- Lessen
- 44
Veelgestelde vragen
Is de les “Security rules testen en debuggen” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad Apps met Firebase-authenticatie en realtime database, waaronder “Security rules testen en debuggen”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Apps met Firebase-authenticatie en realtime database bevat in totaal 4 lessen.
Wat leer ik in “Security rules testen en debuggen”?
Krijg vertrouwen in uw Realtime Database-regels door requests te simuleren, de Rules Playground te gebruiken, geautomatiseerde tests met de emulator te schrijven en afwijzingsmeldingen te lezen. Je oefent met Apps met Firebase-authenticatie en realtime database door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Apps met Firebase-authenticatie en realtime database te beginnen?
Ervaring vooraf is niet nodig. Apps met Firebase-authenticatie en realtime database op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 4 van 4.
Hoe lang duurt de les “Security rules testen en debuggen”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Apps met Firebase-authenticatie en realtime database?
Ja. Elke les over Apps met Firebase-authenticatie en realtime database bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- De syntaxis van beveiligingsregels begrijpen
- Toegangsbeheer op basis van gebruikers
- Gegevens valideren met regels
- Security rules testen en debuggen