FixVibe

// docs / baas security / firebase if-true explainer

Firebase allow read, write: if true akọwapụtara: ihe ọ na-eme na otu esi edozi ya

<code>allow read, write: if true;</code> bụ otu nhazi adịghị mma Firebase kacha emepụta na mmepụta. Ọ bụ ndabara ọnọdụ ule nke Firebase Console na-atụ aro mgbe ị na-emepụta ọdụ data ọhụrụ, iwu ngwa ihe nkuzi koodu AI na-emepụtaghachi site na akwụkwọ, na iwu na-emeghe ọdụ data Firestore gị niile na onye ọ bụla na ịntanetị. Edemede a na-akọwa usoro nke ọma, na-egosi ihe onye na-awakpo na-ahụ mgbe iwu a dị ndụ, ma na-enye gị ndochi anọ na-akawanye anya nke dabara n'iji ihe dị iche iche.

Usoro, ahịrị site na ahịrị

Akwụkwọ iwu ọnọdụ ule Firestore zuru oke bụ ahịrị isii:

firebase
rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if true;
    }
  }
}

Atụgharịrị:

  • rules_version = '2'; na-ahọrọ injin iwu v2 (ugbu a). Iwu v1 ochie na-ahapụ.
  • service cloud.firestore na-akọwapụta ngọngọ na Firestore. Realtime Database na-eji usoro JSON dị iche; Cloud Storage na-eji service firebase.storage.
  • match /databases/{database}/documents na-ejikọta ọdụ data pụrụ iche (default) (ọtụtụ ọrụ nwere naanị otu).
  • match /{document=**} bụ wildcard mmegharị. ** na-emekọrịta ụzọ ọ bụla nke omimi ọ bụla. Jikọta na {document}, nke a na-ejide akwụkwọ ọ bụla na mkpokọta ọ bụla — otu nkebi ahịrị na-achịkwa ọdụ data dum.
  • allow read, write: if true; bụ ahụ iwu. A na-enye ma read ma write ohere; ọnọdụ if true bụ, eh, eziokwu mgbe niile. read kpuchiri ọrụ get na list; write kpuchiri create, update, na delete.

Nsonaazụ: onye ahịa ọ bụla nwere ID ọrụ Firebase na SDK kwesịrị ekwesị nwere ike ịgụ ma ọ bụ dee akwụkwọ ọ bụla na mkpokọta ọ bụla. Achọghị njirimara. Anaghị emanye njedebe ọnụego.

Ihe kpatara Firebase ji eziga nke a dị ka ndabara

Firebase chọrọ ka ị na-edekọ na sekọnd 30 mbụ mgbe ị mepụtara ọrụ. Ụzọ ọzọ — ime ka ị dee iwu ziri ezi tupu ọgụgụ ma ọ bụ ide ọ bụla na-arụ ọrụ — ga-egbochi mbata. Yabụ Console na-enye nhọrọ abụọ mgbe ị na-emepụta ọdụ data: Ọnọdụ Mmepụta (jụ ihe niile, ị na-ede iwu) ma ọ bụ Ọnọdụ Ule (nye ihe niile ohere ụbọchị 30). Ọtụtụ ndị mmepe na-apị ọnọdụ ule, mgbe ahụ chefuo ịgaghachi. Ọrụ ochie nwere oge ụbọchị 30; ọrụ ugbu a nwere iwu if true na-adịgide adịgide na-enweghị njedebe akpaghị aka.

Nsogbu ihe owuwu: ngwa ihe nkuzi koodu AI na-azụ na akwụkwọ, ihe nkuzi, na azịza Stack Overflow nke na-egosi iwu ọnọdụ ule. Mgbe ị jụrụ Cursor ma ọ bụ Claude Code "otu m si ahazi Firebase," azịza na-emekarị gụnyere ngọngọ kpọmkwem allow read, write: if true dị ka ọ bụ iwu mmepụta. AI amaghị — na enweghị ya — na iwu a adịghị nchekwa maka mmepụta.

Ihe onye na-awakpo na-ahụ

N'ezie, onye na-awakpo nke maara ID ọrụ Firebase gị (enwere ike iwepụta site na ngwakọta ngwa ọ bụla ezigara na sekọnd 30) ma na-agba ihe na-esonụ nwere ike ịdepụta akwụkwọ ọ bụla na mkpokọta ọ bụla:

Otu arịrịọ curl enweghị njirimara ezuola iji depụta mkpokọta ọ bụla. Hụ ngọngọ akara akpọkwa n'okpuru.

bash
curl 'https://firestore.googleapis.com/v1/projects/[project-id]/databases/(default)/documents:listCollectionIds' \
  -X POST \
  -H 'Content-Type: application/json' \
  -d '{}'

Azịza bụ ndepụta zuru oke nke mkpokọta elu-larịị. Maka mkpokọta ọ bụla, arịrịọ nke abụọ na-eweghachi akwụkwọ. Enweghị njedebe ọnụego na ụzọ a n'ihi na iwu if true na-anara okporo ụzọ enweghị aha. Anyị ahụla ọdụ data Firebase nwere ọtụtụ nde akwụkwọ ndepụta n'ime otu awa.

Na ụzọ ide: otu POST nwere {fields} na-emepụta akwụkwọ ọhụrụ. Ndị na-awakpo nwere ike imetọ mkpokọta gị na ahịhịa, megbu ibe ndị ọrụ na-ahụ nke na-agụ na Firestore, ma ọ bụ jiri ọdụ data gị dị ka onye nrere ozi efu — ụgwọ ojiji gị na-arị elu, ị na-enyocha, ụgwọ ahụ na-akọwa nsogbu.

Ndochi anọ dị mma maka mmepụta

Họrọ ndochi dabara n'ụdị data ngwa gị. Anọ niile na-eche na ị nwere nyocha onye ọrụ (Firebase Auth ma ọ bụ onye na-eweta ọ bụla nke na-enye token ID Firebase):

Nhọrọ 1: Akwụkwọ onye ọrụ nwe

Ụdị SaaS kacha amasị. Akwụkwọ na-ebi n'okpuru /users/{userId}/... na naanị onye nwe ya nwere ike imetụ ha. match /users/{userId}/{document=**} { allow read, write: if request.auth != null && request.auth.uid == userId; }

firebase
match /users/{userId}/{document=**} {
  allow read, write: if request.auth != null
                     && request.auth.uid == userId;
}

Nhọrọ 2: Mpaghara onye nwe na akwụkwọ ọ bụla

Mgbe akwụkwọ na-ebi na mkpokọta dị larịị (na-abụghị nke etinyere n'okpuru ID onye ọrụ), debe mpaghara owner_uid ma lelee ya. 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; }

firebase
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;
}

Nhọrọ 3: Mwepụ ọtụtụ-ndị mbịarambịa

Maka B2B SaaS nwere data akọwapụtara ụlọ ọrụ. Debe mpaghara org_id na akwụkwọ ọ bụla ma lelee ya megide ọkwa omenala onye ọrụ. allow read, write: if request.auth.token.org_id == resource.data.org_id;. Chọrọ ịtọ ọkwa omenala n'oge ndebanye aha site na Firebase Admin SDK.

firebase
allow read, write: if request.auth.token.org_id == resource.data.org_id;

Nhọrọ 4: Ọdịnaya ọha agụ-naanị

Maka ọdịnaya azụmahịa, profaịlụ ọha, katalọgụ ngwaahịa — ihe ọ bụla na bụ n'ezie ọgụgụ-ọha mana naanị-onye nchịkwa-ide. match /products/{productId} { allow read: if true; allow write: if request.auth.token.admin == true; }. A na-edobe ọkwa omenala admin naanị na akaụntụ nchịkwa.

firebase
match /products/{productId} {
  allow read:  if true;
  allow write: if request.auth.token.admin == true;
}

Ajụjụ nyocha ngwa ngwa

Tupu idozi, lelee ma if true ọ dị ndụ. Mepee Firebase Console → Firestore → Iwu ma chọọ if true. Ọ bụrụ na ị chọta ya ebe ọ bụla n'èzí nkọwa, ị nwere nchọpụta iwu mepere emepe. Simulator Iwu n'otu UI na-enye gị ohere ịkpọghachi arịrịọ onye na-awakpo na mpaghara — gbanye enweghị aha GET /users/somebody ma kwado na simulator na-aweghachi Enyere.

Nkwado èzí: gbaa nyocha FixVibe megide URL mmepụta gị. Nyocha baas.firebase-rules na-anwale Firestore gị, Realtime Database, na iwu Nchekwa ma na-akọ otu nchọpụta nke onye na-awakpo ga-achọpụta — n'ihu n'ihu nke ihe Firebase Console na-egosi.

Ajụjụ a na-ajụkarị

Gịnị bụ ọdịiche n'etiti <code>if true</code> na <code>if request.auth != null</code>?

if true na-enye ohere enweghị aha — onye ọ bụla na ịntanetị. if request.auth != null chọrọ onye ọrụ bata ọ bụla, nke ka mma mana ka na-ezighi ezi: onye ọrụ ngwa gị ọ bụla nwere ike ịgụ data onye ọrụ ọzọ ọ bụla. Iwu mmepụta aghaghị ịkọwapụta na onye ọrụ kpọmkwem ma ọ bụ org site na request.auth.uid == resource.data.owner_uid ma ọ bụ otu.

Firebase ọ na-eme iwu <code>if true</code> akpaghị aka ka ọ daa?

Ọrụ ochie (tupu 2023) nwere oge ụbọchị 30 nke gbanwere iwu if true ka ọ bụrụ if false. Ọrụ ugbu a enweghị — iwu na-anọgide ruo mgbe a gbanwere ya n'aka. Ọ bụrụ na ị mepụtara ọrụ gị tupu 2023 na iwu gị na-adị mma, lelee ọzọ: oge nwere ike ịgbanwe ha na if false, nke na-egbochi ngwa nke gị.

Enwere m ike iji nyocha akara oge n'ihu dị ka ụgbọ mmiri nchekwa?

Mba — ọnọdụ akara oge abụghị nchịkwa nchekwa. Ọ na-emechi iwu mepere emepe na ụbọchị n'ihu, nke pụtara na ruo ụbọchị ahụ ndị na-awakpo nwere ohere zuru oke. Ị ga-echefukwa ụbọchị. Dochie if true na iwu na-akọwapụta nyocha, ọ bụghị nke oge.

Gịnị ma ọ bụrụ na ngwa m bụ n'ezie ọgụgụ-ọha (blog, katalọgụ ngwaahịa)?

Mgbe ahụ dee n'ụzọ doro anya allow read: if true; allow write: if false; na mkpokọta ọha naanị — ọ bụghị na mkpokọta ọ bụla na ọdụ data gị. Jiri nkebi match dị iche kwa mkpokọta ma ejila wildcard mmegharị {document=**} na iwu enwere ike ide.

Nzọụkwụ na-esote

Gbaa nyocha FixVibe megide URL mmepụta gị — nyocha baas.firebase-rules na-akwado ma if true nwere ike rie ugbu a site na ịntanetị ọha. Maka ihe sikana na nchọpụta yiri maka Realtime Database na Nchekwa, hụ Sikana iwu Firebase. Maka klas otu nhazi adịghị mma na Supabase, gụọ Sikana RLS Supabase.

// nyochaa elu BaaS gị

Chọta tebụl mepere emepe tupu mmadụ ọzọ achọta ya.

Tinye URL mmepụta. FixVibe na-edepụta ndị na-eweta BaaS nke ngwa gị na-akpọrịta okwu, na-akara akara ya nke ọha, ma na-akọ ihe onye ahịa na-enweghị nkwenye nwere ike ịgụ ma ọ bụ dee. Efu, enweghị ntinye, enweghị kaadị.

  • Ọkwa efu — nyocha 3 / ọnwa, enweghị kaadị edebanye aha.
  • Akara akara BaaS na-anaghị eme ihe — enweghị mkpa nkwenye ngalaba.
  • Supabase, Firebase, Clerk, Auth0, Appwrite, na ndị ọzọ.
  • Ntugharị ndozi AI na nchọpụta ọ bụla — gbanye azụ na Cursor / Claude Code.
Gbaa nyocha BaaS efu

enweghị mkpa edebanye aha

Firebase allow read, write: if true akọwapụtara: ihe ọ na-eme na otu esi edozi ya — Docs · FixVibe