// docs / baas security / firebase if-true explainer
Firebase allow read, write: if true qhanañcha: kun luri ukat kunjam jikxataña
<code>allow read, write: if true;</code> ukax Firebase juk'amp jiläqir jan walt'awi production ukan. Test-mode defectowa kawkirix Firebase Console mä machaq base de datus lurkpan amtayi, kamachi kawkirix IA codificación yänakax documentación ukat regenerayapxi, ukat kamachi kawkirix tukuyat Firestore base de datusam khitisar internet ukan jist'arayi. Aka artículox sintaxis qhana qhanañchayi, atacante kun aka kamachi vivkpan kun uñjki uñacht'ayi, ukat pusi progresivam jach'a apnaqaña-segura jaqxat churi yaqha uso patrón munisi.
Sintaxis, línea ukar línea
Mä tukuyat Firestore test-mode kamachi documentox sojta líneanaka:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if true;
}
}
}Decodifikatawa:
rules_version = '2';v2 kamachi motor (jichhüru) ajllayi. Maytur v1 kamachinakax deprecadawa.service cloud.firestorebloque Firestore ukar alcance. Realtime Database mä yaqha JSON formani sintaxis apnaqi; Cloud Storageservice firebase.storageapnaqi.match /databases/{database}/documentsespecial(default)base de datus ukar amarri (juk'a proyectonak mä sapa).match /{document=**}mä recursivo comodín.**kun rutax kun jach'ataki apnaqi.{document}ukamp tantasin, ukax sapa documento sapa colección ukan apkati — mä sapa match cláusula tukuya base de datus apnaqi.allow read, write: if true;kamachi cuerpo. Paypachreadukatwritepermitita; condiciónif true, weno, sapa pacha chiqaki.readgetukatlistoperaciones cubri;writecreate,update, ukatdeletecubri.
Neto efecto: kun cliente Firebase proyecto ID-ni ukat correcto SDK-ni kun documento kun colección ukan ullkaspa jan ukax qillqkaspa. Autenticación jan munki. Velocidad límites jan forzayatakit.
Kunatix Firebase aka defectu apkatki
Firebase muniwa nayrïr 30 segundos mä proyecto lurat qhipasa codificana. Yaqha — sapakuti mä correcta kamachi qillqayasapan ullaña jan ukax qillqaña irnaqki nayratak — onboardañ bloqueaspa. Ukatpi Console pä opciones apsu mä base de datus lurkpan: Production modo (taqi niegi, kamachinak qillqayata) jan ukax Test modo (taqi permitiyañ 30 urunaka). Juk'a desarrolladornaka test modo wak'iyapxi, ukat revisaña armapxi. Mayïr proyectonakax 30-uru temporizador apkatatak; jichha proyectonakax mä indefinido if true kamachi jan automático caducidad apkatapxi.
Estructural problema: IA codificación yänakax documentación, tutoriales, ukat Stack Overflow jaqxatawi test-mode kamachinak uñacht'ayatak yatxatapxi. Cursor jan ukax Claude Code "kunjam Firebase configurar" mayikipanax, kunaymanas exacto allow read, write: if true bloque kunjamas production kamachix qhanañchayi. IA janit yatxati — ukat jan jiskt'atayatawa yatxatañataki — aka kamachi production ukatakix jan jark'ata sasin.
Mä atacante kun uñjki
Concretamente, mä atacante Firebase proyecto ID-m yatkir (kun apsut aplicación bundle ukat 30 segundotak apsuñ atki) ukat aka jiskt'ki sapa documento sapa colección ukan listapxaspa:
Mä sapa jan autenticada curl petición sapa colección enumerañataki phuqayatawa. Patxan resaltada bloque uñakipt'aña.
curl 'https://firestore.googleapis.com/v1/projects/[project-id]/databases/(default)/documents:listCollectionIds' \
-X POST \
-H 'Content-Type: application/json' \
-d '{}'Respuestax tukuyat mayïr-nivel colecciones lista. Sapa colección ukatakix mä payïr petición documentonak kuti. Jan velocidad límite aka rutan utji if true kamachinakax anónimo tráfico aceptapxi. Firebase base de datus waranqas documentonak mä hora manqhan enumerayatax uñacht'ata.
Qillqaña rutan: mä sapa POST {fields} ukamp mä machaq documento luri. Atacantenakax colecciones jiyantawimp k'illt'apxaspa, usuariu-uñjat páginas Firestore ukat ullkir desfiguraña, jan ukax base de datus inaki mensaje broker apnaqaña — apnaqa cobrayi jach'a-niwa, uñakipt'a, cobrayi problema qhanañchayi.
Pusi production-jark'ata jaqxatawinaka
Aplicaciónamax datos modelo ukar uñtataykir jaqxata ajllayaña. Pusïrix aplicaciónamax usuariu autenticación apkati (Firebase Auth jan ukax kun proveedor mä Firebase ID token churi):
Opción 1: Usuariu-dueño documentos
Wali jiläqir SaaS patrón. Documentonak /users/{userId}/... ukan utji ukat dueño llamtañ atki. match /users/{userId}/{document=**} { allow read, write: if request.auth != null && request.auth.uid == userId; }
match /users/{userId}/{document=**} {
allow read, write: if request.auth != null
&& request.auth.uid == userId;
}Opción 2: Dueño campo sapa documento
Documentonak jach'a colecciones ukan utji (janit nido usuariu ID manqhan), mä owner_uid campo apsu ukat verifikaña. match /posts/{postId} { allow read: if resource.data.public == true || resource.data.owner_uid == request.auth.uid; allow write: if request.auth.uid == resource.data.owner_uid; }
match /posts/{postId} {
allow read: if resource.data.public == true
|| resource.data.owner_uid == request.auth.uid;
allow write: if request.auth.uid == resource.data.owner_uid;
}Opción 3: Multi-tenant org aislamiento
B2B SaaS ukan org-alcanzata datos ukatakix. Mä org_id campo sapa documento ukan apsuyaña ukat usuariu custom demanda ukamp verifikaña. allow read, write: if request.auth.token.org_id == resource.data.org_id;. Custom demanda registro pachan firebase Admin SDK ukamp wak'iya.
allow read, write: if request.auth.token.org_id == resource.data.org_id;
Opción 4: Solo-ullaña público contenido
Marketing contenido, público perfiles, producto catálogos — kun verdaderamente público-ullantawi ukasti admin-ukak-qillqaña. match /products/{productId} { allow read: if true; allow write: if request.auth.token.admin == true; }. admin custom demanda admin cuentanak ukak utt'ata.
match /products/{productId} {
allow read: if true;
allow write: if request.auth.token.admin == true;
}Jamuq audit consulta
Jikxat askichañ nayratak, if true verdaderament vivki uka uñakipt'aña. Firebase Console → Firestore → Kamachi jist'arayaña ukat if true thaqaña. Aka kawkin jikxatkpax mä comentario manqhanat jan ukan, mä jist'arata-kamachi jikxatäwi atxiri. Rules simulador pachpa UI ukan atacante peticionax local replay luri — mä anónimo GET /users/somebody ukar pega ukat simulador Permitita kuti uka confirmayaña.
Externo confirmación: mä FixVibe escaneo production URL ukar apnaqaña. baas.firebase-rules verificación Firestore, Realtime Database, ukat Storage kamachinak sondeyi ukat kunaymanas atacante jikxatki pachpa jikxatäwi informi — Firebase Console kun uñacht'ayki ukat independientwa.
Jichhar jiskt'awinaka
¿Kun mayjawi <code>if true</code> ukat <code>if request.auth != null</code> taypina?
if true anónimo acceso permitiwa — khitis ukax internet ukan. if request.auth != null kun sign-in usuariu munki, ukax sumaru ukasti aski jan walt'kit: kun aplicación usuariu yaqha usuariu datus ullkaspa. Production kamachinak request.auth.uid == resource.data.owner_uid jan ukax pachpa ukar uñtatayañpa específico usuariu jan ukax org.
¿Firebase <code>if true</code> kamachinak automático caduki?
Maytur proyectonak (2023 nayratak) mä 30-uru temporizador apkatatak kawkirix if true kamachix if false ukar mayjt'ayata. Jichha proyectonakax janiwa — kamachix indefinido manual jaqxatañ jaktataw. Proyectomam 2023 nayratak luratax ukat kamachix sumaki uñjkpan, payïrkutiyaña: temporizador ya if false ukar mayjt'ayspa, ukax aplicaciónamx bloqueya.
¿Mä futuro-uru timestamp uñakipt'awi mä jark'aqaña red apnaqaspa?
Janiwa — mä timestamp condición janit mä jark'aqaña kontrolaki. Jist'arata kamachi mä futuro urur caduki, ukax ukak urukam atacantenakax tukuyat acceso utji. Ukat urux armtayata. if true mä autenticación-uñtatayata kamachimp jaqxata, janit mä tiempo-amaratayata.
¿Aplicaciónamax verdaderament público-ullanir kankañkpan (blog, producto catálogo)?
Ukasinx explícitamente allow read: if true; allow write: if false; qillqaña público colección ukak — janit sapa colección base de datus ukan. Mä jamasin match cláusula sapa colección apnaqaña ukat janipuni recursivo {document=**} comodín qillqaña-niri kamachinakan.
Qhipa lurawinaka
Mä FixVibe escaneo production URL ukar apnaqaña — baas.firebase-rules verificación jichha if true uka público internet ukat explotable ukax confirmayi. Escáner mecánica ukat Realtime Database ukat Storage paralelo detecciones uñakipt'añataki, Firebase kamachi escáner ulla. Pachpa jan walt'awi clase Supabase ukan, Supabase RLS escáner ulla.
