// docs / baas security / firebase if-true explainer
Firebase allow read, write: if true ñemyesakã: mba'épa ojapo ha mba'éichapa emyatyrõ
<code>allow read, write: if true;</code> ha'e Firebase oñembosakopa vai jepyrújevéva producción-pe. Ha'e pe test-mode predeterminado Firebase Console oñemoĩ emoheñói ramo peteĩ base de datos pyahu, pe regla tembipuru IA omoheñói jey documentación-gui, ha pe regla omoñepyrũva ne Firestore base de datos entero opavavépe internet-pe. Ko tembiapokue omyesakã pe sintaxis ekuatiapývape, ohechauka mba'épa peteĩ atacante ohecha ko regla oikoveháme, ha omeẽ ndéve irundy ñemyengovia hatãvéva ojavýva mba'epuru jepyru rupi.
Pe sintaxis, línea-línea
Peteĩ Firestore test-mode regla kuatia kompléto ha'e 6 línea:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if true;
}
}
}Decodificado:
rules_version = '2';oiporavo pe v2 regla motor (ko'ãgagua). v1 yma regla oñembyaipa.service cloud.firestoreojoja pe bloque Firestore-pe. Realtime Database oipuru peteĩ sintaxis ovavéva JSON-pegua; Cloud Storage oipuruservice firebase.storage.match /databases/{database}/documentsojejoja pe(default)base de datos ekuatiapývape (heta proyecto oguereko peteĩnte).match /{document=**}ha'e peteĩ comodín recursivo. Pe**ojoja mba'eveichagua tape pyrendypéva.{document}ndive, kóva ohupyty cada kuatia cada colección-pe — peteĩ match cláusula oñangarekoita pe base de datos entero.allow read, write: if true;ha'e pe regla cuerpo. Mokõivereadhawriteomoneĩ; pe condiciónif trueha'e meme añete.readohupytygethalisttembiapokue;writeohupytycreate,update, hadelete.
Efecto neto: mba'eveichagua cliente Firebase proyecto ID ha SDK-ndive ikatu omoñe'ẽ térã ohaikuaa mba'eveichagua kuatia mba'eveichagua colección-pe. Autenticación nahekotevẽvai. Rate limit ndoñemonáirei.
Mba'érepa Firebase omoheñói péva predeterminado-icha
Firebase oipota emba'apo peteĩha 30 segundo-pe peteĩ proyecto emoheñói rire. Pe ambue — ndéve ohai peteĩ regla porã mba'eveichagua lectura térã escritura omba'apo mboyve — ombloqueá ñepyrũmby. Upéicha pe Console omeẽ mokõi opción emoheñói aja peteĩ base de datos: Producción modo (omboty opavavete, nde ehai regla) térã Test modo (omoneĩ opavavete 30 ára). Heta desarrollador oclicke test modo, upéi hesarái ohasa. Proyecto ymaguáre oguereko pe 30-ára cronómetro; proyecto ko'ãgagua oguereko peteĩ if true regla expiración automático'ỹva.
Pe apañuãi estructural: tembipuru IA oñembo'e documentación, tutorial, ha Stack Overflow ñembohovái ohechaukáva test-mode regla rehe. Ejerure ramo Cursor térã Claude Code-pe "mba'éichapa amoĩ Firebase," pe ñembohovái meme oguereko pe allow read, write: if true bloque ekuatiapýva ha'éva producción regla-icha. Pe IA ndoikuaái — ha avave nojeruréi oikuaa — ko regla ndaha'eiha sãsõ producción-pe.
Mba'épa peteĩ atacante ohecha
Tete ko'ã, peteĩ atacante oikuaáva ne Firebase proyecto ID (oñenohẽ kuaa mba'eveichagua aplicación oñemoherakuãva bundle-gui 30 segundo-pe) ha omba'apo kóva ikatu olista cada kuatia cada colección-pe:
Peteĩ no autenticado curl solicitud iporã enumerar hag̃ua cada colección. Ehecha pe bloque omombyajý yvýpe.
curl 'https://firestore.googleapis.com/v1/projects/[project-id]/databases/(default)/documents:listCollectionIds' \
-X POST \
-H 'Content-Type: application/json' \
-d '{}'Pe ñembohovái ha'e lista oĩva opavave nivel ári colección rehegua. Cada colección-pe, peteĩ mokõiha solicitud omyenyhẽ kuatia. Ndaipóri rate limit ko tape-pe if true regla omoneĩva tráfico anónimo. Rohecha Firebase base de datos sũ kuatia ndive enumerapyréva peteĩ hora-me.
Pe escritura tape-pe: peteĩ POST {fields}-ndive omoheñói peteĩ kuatia pyahu. Atacante ikatu omoĩnge ñembyai ne colección-pe, ombokarãi usuario páhina omoñe'ẽva Firestore-gui, térã eipuru ne base de datos free message broker-icha — ne ñepokuaa ñembyaty omongakuaa, ehecha, pe cuenta omyesakã pe apañuãi.
Irundy producción-segura ñemyengovia
Eiporavo pe ñemyengovia ojojáva ne aplicación datos modelo-ndive. Opavave irundy oikuaapy eguereko usuario autenticación (Firebase Auth térã mba'eveichagua proveedor omeẽva peteĩ Firebase ID token):
Opción 1: Usuario-mba'éva kuatia
Pe SaaS patrón jepyrújevéva. Kuatia oikove /users/{userId}/... guýpe ha pe jára-nte ikatu opoko. 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: Jára kampo cada kuatia rehe
Kuatia oikove rire colección plano-pe (oñembojuaju'ỹva usuario ID guýpe), eñongatu peteĩ owner_uid kampo ha ehecha. 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-pe g̃uarã org-alcance datos ndive. Eñongatu peteĩ org_id kampo cada kuatia-pe ha ehecha pe usuario claim custom rehe. allow read, write: if request.auth.token.org_id == resource.data.org_id;. Oikotevẽ pe custom claim emoĩ inscripción aja Firebase Admin SDK rupi.
allow read, write: if request.auth.token.org_id == resource.data.org_id;
Opción 4: Lectura-añoiteva público contenido
Marketing contenido, perfil público, producto catálogo — mba'eveichagua público-añeteete lectura péro administrador-añoiteva escritura. match /products/{productId} { allow read: if true; allow write: if request.auth.token.admin == true; }. Pe admin custom claim oĩ administrador cuenta-añoiteva-pe.
match /products/{productId} {
allow read: if true;
allow write: if request.auth.token.admin == true;
}Pya'e auditoría consulta
Emyatyrõ mboyve, ehecha if true oĩ añete oikove. Eavri Firebase Console → Firestore → Rules ha eheka if true. Ejuhúrõ péva oĩháme avave comentario-pe, eguereko peteĩ regla jepe'apyre jejuhu. Pe Rules simulador peteĩ UI-pe omoneĩ ndéve eha'ã pe atacante solicitud local — emoĩ peteĩ anonymous GET /users/somebody ha eikuaaporã pe simulador omboheri Allowed.
Externo ñehechakuaa: embohape peteĩ FixVibe escaneo ne producción URL-pe. Pe baas.firebase-rules check ohecha ne Firestore, Realtime Database, ha Storage regla ha omombe'u peteĩ atacante ojuhuva'erã — Firebase Console ohechaukávagui ojepokuaa'ỹva.
Porandu hetave ojeporandúva
Mba'épa ojuavýva <code>if true</code> ha <code>if request.auth != null</code> mbytépe?
if true omoneĩ jepokuaa anonymous — mba'eveichagua oĩva internet-pe. if request.auth != null oikotevẽ mba'eveichagua usuario oñemoinscribíva, péva iporãve péro vai gueteri: mba'eveichagua usuario ne aplicación-pe ikatu omoñe'ẽ cada ambue usuario datos. Producción regla ojoja va'erã pe usuario ekuatiapýva térã org-pe request.auth.uid == resource.data.owner_uid térã peteĩchagua rupi.
Firebase piko araka'e oexpira automáticamente <code>if true</code> regla?
Proyecto yma (pre-2023) oguereko peteĩ 30-ára cronómetro omyengoviáva if true regla if false-pe. Proyecto ko'ãgagua nahániri — pe regla opyta tapia manual omyengovia meve. Emoheñói rire ne proyecto 2023 mboyve ha ne regla iporã, ehechakuaa: pe cronómetro ikatu omyengovia if false-pe, péva ombloqueá ne aplicación.
Ikatúpa aipuru peteĩ futuro-ára timestamp ñehecha peteĩ seguridad red-icha?
Nahániri — peteĩ timestamp condición ndaha'éi peteĩ seguridad jokoha. Oexpira pe regla jepe'apyre peteĩ futuro ára-pe, péva he'ise upe ára peve atacante oguereko jepokuaa pa. Ha hesaráita ne ára. Emyengovia if true peteĩ auth-jojáva regla ndive, nahániri tiempo-omanóva.
Mba'épa ojehúta che aplicación añetete público-lectura (blog, producto catálogo)?
Upéicha ehai ekuatiapýva allow read: if true; allow write: if false; pe colección público-pe-nte — nahániri cada colección ne base de datos-pe. Eipuru peteĩ separado match cláusula cada colección rehe ha araka'eve eipuru pe recursivo {document=**} comodín regla escritura ndive.
Tape upéi
Embohape peteĩ FixVibe escaneo ne producción URL-pe — pe baas.firebase-rules check ohechakuaa if true oĩva ko'ãgaite ojeporukuaáva internet público-gui. Pe escáner mecánica ha umi paralelo detección Realtime Database ha Storage rehegua, ehecha Firebase rules escáner. Pe peteĩchagua oñembosakopa vai clase Supabase rehegua, emoñe'ẽ Supabase RLS escáner.
