FixVibe

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

Firebase allow read, write: if true air a mhìneachadh: dè a tha e a' dèanamh agus mar a chàirear e

'S e <code>allow read, write: if true;</code> an aon mhì-rèiteachadh Firebase as cumanta ann an cinneasachadh. 'S e bun-roghainn modh-deuchainn a th' ann a tha Consoil Firebase a' moladh nuair a chruthaicheas tu stòr-dàta ùr, an riaghailt a chruthaicheas innealan còdaidh AI à sgrìobhainnean, agus an riaghailt a dh'fhosglas an stòr-dàta Firestore gu lèir agad do dhuine sam bith air an eadar-lìn. Tha an t-artaigil seo a' mìneachadh a' ghnàth-sgrìobhaidh gu mionaideach, a' sealltainn na chì ionnsaighiche nuair a tha an riaghailt seo beò, agus a' toirt seachad ceithir aithisgean nas teannaiche a fhreagras air diofar chleachdaidhean.

An gnàth-sgrìobhadh, loidhne air loidhne

Tha sgrìobhainn riaghailtean modh-deuchainn Firestore iomlan sia loidhnichean:

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

Air a mhìneachadh:

  • Bidh rules_version = '2'; a' taghadh einnsean nan riaghailtean v2 (làithreach). Tha seann riaghailtean v1 air an leigeil seachad.
  • Bidh service cloud.firestore a' sgòpadh a' bhloc gu Firestore. Cleachdaidh Realtime Database gnàth-sgrìobhadh JSON-stèidhichte eile; cleachdaidh Cloud Storage service firebase.storage.
  • Bidh match /databases/{database}/documents a' ceangal an stòir-dàta sònraichte (default) (chan eil ach aon aig a' mhòr-chuid de phròiseactan).
  • 'S e wildcard ath-chùrsach a th' ann an match /{document=**}. Bidh an ** a' freagairt air slighe sam bith aig doimhneachd sam bith. Còmhla ri {document}, glacaidh seo gach sgrìobhainn anns gach cruinneachadh — aon chlàs match a' riaghladh an stòir-dàta gu lèir.
  • 'S e allow read, write: if true; bodhaig na riaghailt. Tha an dà chuid read agus write air an ceadachadh; tha an cumha if true daonnan fìor. Tha read a' còmhdach get agus list; tha write a' còmhdach create, update, agus delete.

Buaidh ghlan: 's urrainn do chliant sam bith le ID pròiseict Firebase agus an SDK cheart sgrìobhainn sam bith a leughadh no a sgrìobhadh anns gach cruinneachadh. Chan eil dearbhadh a dhìth. Chan eil cuibhreannan-rèise gan cur an gnìomh.

Carson a tha Firebase a' libhrigeadh seo mar a' bhun-roghainn

Tha Firebase ag iarraidh ort a bhith a' còdadh anns na 30 diog an dèidh do phròiseact a chruthachadh. Bhiodh an roghainn eile — a' toirt ort riaghailt cheart a sgrìobhadh mus obraich leughadh no sgrìobhadh sam bith — a' bacadh tòiseachadh-luath. Mar sin tha an consoil a' tabhann dà roghainn nuair a chruthaicheas tu stòr-dàta: Modh cinneasachaidh (diùlt gach nì, sgrìobhaidh tu na riaghailtean) no Modh deuchainn (ceadaich gach nì airson 30 latha). Bidh a' mhòr-chuid de leasaichean a' briogadh modh deuchainn, agus an uairsin a' dìochuimhneachadh ath-thadhal. Bha an tìmear 30-latha aig seann phròiseactan; tha pròiseact làithreach le riaghailt if true gun chrìoch fèin-obrachail.

An duilgheadas structarail: bidh innealan còdaidh AI a' trèanadh air sgrìobhainnean, oideachaidhean, agus freagairtean Stack Overflow a tha a' sealltainn riaghailtean modh-deuchainn. Nuair a dh'fhaighnicheas tu de Cursor no Claude Code "mar a stèidhich mi Firebase", bidh am freagairt gu tric a' gabhail a-steach a' bhloc dearbh allow read, write: if true mar gum b' i an riaghailt cinneasachaidh. Chan eil fhios aig an AI — agus chan eilear a' brosnachadh fios a bhith aige — nach eil an riaghailt seo sàbhailte airson cinneasachadh.

Na chì ionnsaighiche

Gu cinneach, 's urrainn do dh'ionnsaighiche aig a bheil ID pròiseict Firebase agad (a ghabhas tarraing à bundle aplacaide sam bith ann an 30 diog) a tha a' ruith na leanas gach sgrìobhainn anns gach cruinneachadh a liostadh:

Tha aon iarrtas curl gun dearbhadh gu leòr gus gach cruinneachadh àireamhachadh. Faic am bloc soillsichte gu h-ìosal.

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

'S e an fhreagairt liosta iomlan nan cruinneachaidhean àrd-ìre. Airson gach cruinneachadh, bheir dàrna iarrtas air ais sgrìobhainnean. Chan eil cuibhreann-rèise air an t-slighe seo oir bidh riaghailtean if true a' gabhail ri trafaig gun aithne. Tha sinn air stòran-dàta Firebase fhaicinn le milleanan de sgrìobhainnean air an àireamhachadh ann an nas lugha na uair a thìde.

Air slighe an sgrìobhaidh: bidh aon POST le {fields} a' cruthachadh sgrìobhainn ùr. 'S urrainn do dh'ionnsaighichean na cruinneachaidhean agad a thruailleadh le sgudal, duilleagan a chuireas sùil air cleachdaichean a tha a' leughadh à Firestore a mhìl-dhèanamh, no an stòr-dàta agad a chleachdadh mar bhròcair-teachdaireachd an-asgaidh — tha an cunntas-cleachdaidh agad a' dol suas, nì thu rannsachadh, agus mìnichidh an cunntas an duilgheadas.

Ceithir aithisgean sàbhailte airson cinneasachadh

Tagh an aithisg a fhreagras air modail dàta na h-aplacaide agad. Tha na ceithir uile a' gabhail ris gu bheil dearbhadh cleachdaiche agad (Firebase Auth no solaraiche sam bith a chuireas a-mach comharra ID Firebase):

Roghainn 1: Sgrìobhainnean leis a' chleachdaiche

Am pàtran SaaS as cumanta. Bidh sgrìobhainnean a' fuireach fo /users/{userId}/... agus chan urrainn don aon sealbhadair beantainn riutha. 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;
}

Roghainn 2: Raon sealbhadair air gach sgrìobhainn

Nuair a tha sgrìobhainnean a' fuireach ann an cruinneachaidhean rèidh (chan ann fo ID cleachdaiche), stòr raon owner_uid agus sgrùd e. 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;
}

Roghainn 3: Sgaradh org ioma-luchd-fastaidh

Airson SaaS B2B le dàta org-sgòpaichte. Stòr raon org_id air gach sgrìobhainn agus sgrùd e an aghaidh gnàth-thagradh a' chleachdaiche. allow read, write: if request.auth.token.org_id == resource.data.org_id;. Feumaidh seo an gnàth-thagradh a shuidheachadh aig àm clàraidh tro SDK Rianachd Firebase.

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

Roghainn 4: Susbaint phoblach leughaidh-a-mhàin

Airson susbaint margaidheachd, pròifilean poblach, catalogan toraidh — rud sam bith a tha gu fìor phoblach-leughaidh ach rianachd-a-mhàin-sgrìobhaidh. match /products/{productId} { allow read: if true; allow write: if request.auth.token.admin == true; }. Tha an gnàth-thagradh admin air a shuidheachadh air cunntasan rianachd a-mhàin.

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

Ceist sgrùdaidh luath

Mus càirich thu, dearbh a bheil if true beò gu fìor. Fosgail Consoil Firebase → Firestore → Riaghailtean agus lorg if true. Ma lorgas tu e taobh a-muigh beachd sam bith, tha lorg riaghailt fhosgailte agad. Bidh an Meirleach Riaghailtean san aon UI a' leigeil leat iarrtas an ionnsaighich ath-chluich gu h-ionadail — cuir a-steach GET /users/somebody gun aithne agus dearbh gu bheil am meirleach a' tilleadh Air a cheadachadh.

Dearbhadh bhon taobh a-muigh: ruith sgan FixVibe an aghaidh URL a' chinneasachaidh agad. Bidh an sgrùdadh baas.firebase-rules a' tomhas nan riaghailtean Firestore, Realtime Database, agus Storage agad agus ag aithris an aon lorg a lorgadh ionnsaighiche — neo-eisimeileach bho na sheallas Consoil Firebase.

Ceistean Cumanta

Dè an diofar eadar <code>if true</code> agus <code>if request.auth != null</code>?

Bidh if true a' ceadachadh ruigsinn gun aithne — duine sam bith air an eadar-lìn. Bidh if request.auth != null ag iarraidh cleachdaiche clàraichte sam bith, a tha nas fheàrr ach fhathast ceàrr: 's urrainn do chleachdaiche sam bith den aplacaid agad dàta gach cleachdaiche eile a leughadh. Feumaidh riaghailtean cinneasachaidh sgòpadh gu cleachdaiche no org sònraichte tro request.auth.uid == resource.data.owner_uid no a leithid.

An toir Firebase crìoch fèin-obrachail air riaghailtean <code>if true</code> a-riamh?

Bha tìmear 30-latha aig seann phròiseactan (ro 2023) a thionndaidheadh riaghailtean if true gu if false. Chan eil aig pròiseactan làithreach — bidh an riaghailt a' maireachdainn gun chrìoch gus an tèid a chur na h-àite le làimh. Ma chruthaich thu am pròiseact agad ro 2023 agus tha na riaghailtean agad a' coimhead ceart, dèan dearbhadh dùbailte: dh'fhaodadh an tìmear a bhith air an tionndadh gu if false mu thràth, a bhacas an aplacaid agad fhèin.

An urrainn dhomh sgrùdadh ceann-latha san àm ri teachd a chleachdadh mar lìon sàbhailteachd?

Chan urrainn — chan e smachd tèarainteachd a th' ann an cumha stampa-ama. Tha e a' crìochnachadh na riaghailt fhosgailte air ceann-latha san àm ri teachd, a tha a' ciallachadh gus an ceann-latha sin tha làn-ruigsinn aig luchd-ionnsaigh. Agus dìochuimhnichidh tu an ceann-latha. Cuir if true an àite le riaghailt sgòpaichte-auth, chan e fear le crìoch-ùine.

Dè ma tha an aplacaid agam fìor phoblach-leughaidh (blog, catalog toraidh)?

An uairsin sgrìobh gu follaiseach allow read: if true; allow write: if false; air a' chruinneachadh phoblach a-mhàin — chan ann air gach cruinneachadh san stòr-dàta agad. Cleachd clàs match air leth gach cruinneachadh agus na cleachd an wildcard ath-chùrsach {document=**} air riaghailtean a ghabhas sgrìobhadh.

An ath cheum

Ruith sgan FixVibe an aghaidh URL a' chinneasachaidh agad — bidh an sgrùdadh baas.firebase-rules a' dearbhadh a bheil if true ri chleachdadh an-dràsta bhon eadar-lìn phoblach. Airson meacanaigeachd an sganair agus na lorgaidhean co-shìnte airson Realtime Database agus Storage, faic Sganair riaghailtean Firebase. Airson clas co-ionann mì-rèiteachaidh air Supabase, leugh Sganair RLS Supabase.

// sganaich uachdar baas agad

Lorg an clàr fosgailte mus lorg cuideigin eile e.

Cuir a-steach URL cinneasachaidh. Nì FixVibe àireamhachadh air na solaraichean BaaS leis a bheil an aplacaid agad a' bruidhinn, lorgaidh e am puingean-deiridh poblach, agus aithrisidh e na as urrainn do chliant gun dearbhadh leughadh no sgrìobhadh. An-asgaidh, gun stàladh, gun chairt.

  • Sreath an-asgaidh — 3 sganaidhean sa mhìos, gun chairt clàraidh.
  • Comharrachadh BaaS fulangach — chan eil dearbhadh seilbh àrainn a dhìth.
  • Supabase, Firebase, Clerk, Auth0, Appwrite agus barrachd.
  • Cur-thairis càraidh AI air gach toradh — cuir air ais e gu Cursor / Claude Code.
Ruith sganadh BaaS an-asgaidh

gun chlàradh a dhìth

Firebase allow read, write: if true air a mhìneachadh: dè a tha e a' dèanamh agus mar a chàirear e — Docs · FixVibe