Regole di sicurezza Firebase da copiare per dati del solo proprietario, letture pubbliche, ruoli admin e validazione in Firestore, Storage e Realtime Database, più come testarle.
Le regole di sicurezza Firebase decidono chi può leggere e scrivere ogni dato della tua app. Inizia ogni file Firestore con rules_version = '2', consenti l'accesso solo quando request.auth è impostato, confronta request.auth.uid con il proprietario del documento e controlla i campi in arrivo con request.resource.data. Testa con l'emulatore prima del deploy.
Le variabili che usi di più in ogni prodotto
Se la tua app, il tuo negozio o la tua area riservata salva dati in Firebase, le regole sono l'unica cosa che separa i dati dei tuoi clienti da chiunque abbia la configurazione pubblica del tuo progetto. Le ricette qui sotto coprono i casi di cui hanno bisogno la maggior parte delle piccole app. Filtra per prodotto, copiane una e cambia i nomi delle collezioni con i tuoi.
Una delle due scelte iniziali quando crei un database. Firebase descrive la modalità di test come adatta per iniziare, ma dice che permette a chiunque di leggere e sovrascrivere i tuoi dati. La modalità di produzione nega tutte le letture e scritture dai client mobile e web finché non scrivi le regole.
Cerca una condizione che confronta request.time con una data fissa, come request.time < timestamp.date(2026, 11, 1). Superata quella data, ogni richiesta fallisce. Sostituiscila con regole vere invece di spostare la data.
Firebase documenta un limite di 10 chiamate di accesso ai documenti per le richieste su un singolo documento e le query, e di 20 per letture su più documenti, transazioni e scritture in batch. Superarlo produce un errore permission denied.
No. Le regole proteggono le richieste dai client mobile e web. Firebase afferma che le librerie client per server ignorano tutte le Cloud Firestore Security Rules, quindi controlla gli input separatamente nel tuo codice server.
Avvia l'emulatore con firebase emulators:start --only firestore, poi scrivi test con il pacchetto @firebase/rules-unit-testing, usando assertSucceeds e assertFails per le azioni consentite e bloccate.
Questi pattern compaiono nei progetti di partenza e nei tutorial. Ognuno lascia i dati esposti.
Regole rischiose e alternative più sicure
Avvia l'emulatore di Firestore, poi verifica che il proprietario possa scrivere e un estraneo no.
Usa un id di progetto demo così nulla raggiunge un database reale. Eseguilo mentre firebase emulators:start --only firestore è in esecuzione.
Ogni utente legge e modifica solo il documento il cui id è uguale al suo id utente.
Chiunque può leggere il catalogo prodotti; solo gli utenti il cui profilo ha role admin possono modificarlo.
Un cliente può creare un ordine solo per sé stesso, con un totale positivo e uno stato noto, e non può modificarlo in seguito.
Le modifiche al profilo sono consentite solo se il campo role resta esattamente com'era.
I file stanno nella cartella di ogni utente; i caricamenti devono essere immagini più piccole di 5MB, e chiunque abbia effettuato l'accesso può vederle.
Le regole di Realtime Database sono in JSON. $uid cattura la chiave; newData è il valore in scrittura.
Mostra ricette per
Tutti i prodotti
Cloud Firestore
Cloud Storage
Realtime Database
{n} ricette mostrate
Inizia gratis · Nessuna carta di credito richiesta