// docs / baas security / firebase rules scanner
Sganair riaghailtean Firebase: lorg riaghailtean fosgailte Firestore, Realtime Database agus Storage
Bidh aplacaidean Firebase a' fàilligeadh tèarainteachd ann an aon dòigh chunbhalach: riaghailtean <code>allow read, write: if true;</code> air am fàgail bhon tòiseachadh-luath modh-deuchainn, gun a bhith air an cur an àite mus deach iad gu cinneasachadh. Bidh innealan còdaidh AI a' cruthachadh nan riaghailtean seo gu litir bho eisimpleirean sgrìobhainnean agus is ainneamh a bhios iad a' brosnachadh an leasaiche an cruadhachadh. Tha an t-artaigil seo a' sealltainn mar a lorgas sganair riaghailtean Firebase riaghailtean fosgailte thar Firestore, Realtime Database, agus Cloud Storage bhon taobh a-muigh a' phròiseict — agus mar a chàirear na lorgar.
Mar a lorgas an sganair riaghailtean fosgailte Firebase
Bidh seirbheisean Firebase a' nochdadh cumaidhean URL ainmeil ro-innseach. 'S urrainn do sganair gun teisteanasan tomhas air gach fear agus toirt fa-near a bheil leughaidhean gun aithne a' soirbheachadh. Ruithidh an sgrùdadh baas.firebase-rules aig FixVibe ann an trì tomhasan neo-eisimeileach — aon gach seirbheis Firebase:
- <strong>Firestore.</strong> The scanner extracts the project ID from the deployed app's bundle (it's in <code>firebase.initializeApp({ projectId: ... })</code>), then issues <code>GET https://firestore.googleapis.com/v1/projects/[project-id]/databases/(default)/documents/[collection]:listDocuments</code> against common collection names. A <code>200 OK</code> with documents in the response means <code>allow read</code> is permissive.
- Realtime Database. Bidh an sganair a' tomhas
https://[project-id]-default-rtdb.firebaseio.com/.json. Ma tha am freumh ri leughadh gu anaithnichte, 's e an fhreagairt a' chraobh stòir-dàta gu lèir mar JSON. Tha deuchainn nas glèidhte a' ceasnachadh.json?shallow=true, a thilleas iuchraichean àrd-ìre a-mhàin — toradh co-dhiù. - Cloud Storage. Bidh an sganair a' ceasnachadh
https://firebasestorage.googleapis.com/v0/b/[project-id].appspot.com/o. Ma liostaicheas an fhreagairt ainmean fhaidhlichean às aonais dearbhaidh, tha a' bhucaid ri liostadh gun aithne. Tha stòras a ghabhas liostadh na lorg fiù 's nuair a thèid luchdaidhean-sìos fhaidhle fa-leth a dhiùltadh — bidh luchd-ionnsaigh ag àireamhachadh a' bhucaid airson ainmean-faidhle ro-innseach a lorg.
Dè a tha gunna-coise modh-deuchainn a' coimhead gu cinneach
Tha sgrìobhainnean tòiseachaidh-luath Firebase a' gabhail a-steach aon de na blocaichean riaghailt as motha a chaidh a chopaigeadh air an eadar-lìn:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if true;
}
}
}Bha Firebase a' cleachdadh crìoch fhèin-obrachail 30-latha a chur air na riaghailtean sin. Tha sin air atharrachadh: an-diugh, bidh na riaghailtean a' maireachdainn gu bràth mura cuir an leasaiche an àite iad. Bidh innealan còdaidh AI — air an trèanadh air bliadhnachan de sgrìobhainnean a tha a' gabhail a-steach a' bhloc modh-deuchainn — gu tric ga chur a-mach litir-air-litir agus ag innse don leasaiche "seo do riaghailt tèarainteachd". Chan eil.
Caochlaidhean eile a nochdas ann an cinneasachadh ach a tha co-ionann ro fhosgailte:
// future-date variant — equivalent to "if true" allow read, write: if request.time < timestamp.date(2099, 1, 1); // authenticated-user variant — any signed-in user reads and writes anything allow read: if true; allow write: if request.auth != null; // any-auth variant — any signed-in user owns every document allow read, write: if request.auth != null;
- Caochladh ri stampa-ama san àm ri teachd: riaghailt a cheadaicheas gach nì gu ceann-latha fada san àm ri teachd. Cha thig crìoch air gu fìor (faic am bloc soillsichte gu h-àrd).
allow read: if true; allow write: if request.auth != null;— leughaidhean poblach, sgrìobhaidh cleachdaiche dearbhaichte sam bith.allow read, write: if request.auth != null;— 's urrainn do chleachdaiche clàraichte sam bith sgrìobhainn sam bith a leughadh no a sgrìobhadh, dàta luchd-cleachdaidh eile nam measg.
Dè a nì thu nuair a lorgas an sganair riaghailt fhosgailte
Tha riaghailtean Firebase fosgailte nan èiginn aig àm-ruith. Tha an càradh den aon chumadh thar nan trì seirbheisean: sgòp gach riaghailt gu request.auth.uid an aghaidh raon sealbhadair follaiseach. Tha gnàth-sgrìobhadh riaghailt fhèin aig gach seirbheis:
Firestore
match /users/{userId} { allow read, write: if request.auth != null && request.auth.uid == userId; }. Bidh ceangal earrann-slighe {userId} na aon sgrìobhainn as urrainn don chleachdaiche beantainn rithe.
match /users/{userId} {
allow read, write: if request.auth != null
&& request.auth.uid == userId;
}Realtime Database
<code>{ "rules": { "users": { "$uid": { ".read": "$uid === auth.uid", ".write": "$uid === auth.uid" } } } }</code>. The <code>$uid</code> wildcard captures the path segment for comparison.
{
"rules": {
"users": {
"$uid": {
".read": "$uid === auth.uid",
".write": "$uid === auth.uid"
}
}
}
}Cloud Storage
service firebase.storage { match /b/{bucket}/o { match /users/{userId}/{allPaths=**} { allow read, write: if request.auth.uid == userId; } } }. Gnàth: stòr faidhlichean fo users/[uid]/[filename] agus leig leis an t-slighe seilbh a chur an gnìomh.
service firebase.storage {
match /b/{bucket}/o {
match /users/{userId}/{allPaths=**} {
allow read, write: if request.auth.uid == userId;
}
}
}Cuir a-mach riaghailtean tro CLI Firebase: firebase deploy --only firestore:rules, firebase deploy --only database, firebase deploy --only storage. Dearbh gu bheil na riaghailtean ùra ann an cinneasachadh le bhith ag ath-ruith sgan FixVibe — bu chòir don lorg baas.firebase-rules falbh.
firebase deploy --only firestore:rules
firebase deploy --only database
firebase deploy --only storageMar a tha seo a' coimeas ri innealan Firebase fhèin
Bidh Consoil Firebase a' sealltainn dhut na riaghailtean làithreach ach cha sgrùd e iad an aghaidh giùlan-ruith. Leigidh meirleach riaghailtean Firebase leat loidsig nan riaghailtean a dheuchainn an aghaidh iarrtasan sintèiseach — feumail ach ionadail. Chan innis aon de na h-innealan dhut dè a thilleas na riaghailtean cinneasachaidh agad gu cinneach do ionnsaighiche gun aithne air an eadar-lìn poblach. 'S e sganair bhon taobh a-muigh mar FixVibe (no Burp Suite le làimh-rèiteachadh) an aon nì a thomhaiseas bhon aon ceàrn 's a dhèanadh ionnsaighiche. Bidh App Check Google fhèin a' lùghdachadh ana-cleachdadh ach cha bhi e na àite air riaghailtean a tha air an sgòpadh gu ceart.
Ceistean Cumanta
An leugh no an atharraich an sganair an dàta Firestore agam?
Bidh sganaidhean fulangach a' cur a-mach co-dhiù aon leughadh gun aithne gach seirbheis gus dearbhadh a bheil riaghailtean ga cheadachadh. Bidh an sganair a' clàradh cumadh na freagairt agus làthaireachd dàta — chan amhaircidh e duilleagan, chan àireamhaich e sgrìobhainnean, agus cha sgrìobh e. Tha tomhasan sgrìobhaidh cuingealaichte ri seilbh àrainn dearbhte agus cha ruith iad an aghaidh targaidean gun dearbhadh a-riamh.
Dè ma chleachdas am pròiseact Firebase agam App Check?
Bidh App Check a' diùltadh iarrtasan gun dearbhadh le 403. Chì sganair gun chomharra App Check 403 air gach tomhas — agus 's e sin an toradh ceart. Chan eil App Check na àite air ceartas riaghailt (tha comharra App Check a chaidh a ghoid agus riaghailt fhosgailte fhathast a' leigeil dàta a-mach), ach bidh e a' cur bacadh air sganaidhean cothromachail bhon taobh a-muigh.
An lorg an sganair mì-rèiteachaidhean riaghailt phàirteil (leughadh fosgailte, sgrìobhadh dùinte)?
Lorgaidh — tha gach riaghailt (allow read, allow write) air a thomhas air leth. Tha tomhas leughaidh-a-mhàin a shoirbheachas le 200 OK ag aithris lorg leughaidh-fhosgailte fiù 's nuair a thèid sgrìobhaidhean a dhiùltadh. Tha an dà lorg eadar-dhealaichte: tha tarraing dàta agus laimhseachadh dàta nan cunnartan air leth.
An obraich seo airson aplacaidean Firebase a chaidh a chur a-mach fo àrainn shaobhaidh?
Obraichidh. Bidh an sganair a' tarraing ID pròiseict Firebase bhon bhundle a chaidh a chur a-mach, chan ann bhon àrainn. Bidh àrainnean saobhaidh, fo-àrainnean app.web.app, agus aplacaidean Firebase fèin-òstaichte uile ag obair san aon dòigh fhad 's a tha am bundle JavaScript ri ruigsinn.
An ath cheum
Ruith sgan FixVibe an-asgaidh an aghaidh URL a' chinneasachaidh agad — tha an sgrùdadh baas.firebase-rules a' tighinn air a h-uile plana agus comharraichidh e riaghailtean fosgailte thar Firestore, Realtime Database, agus Cloud Storage. Airson mìneachadh nas doimhne air a' phàtran allow read, write: if true gu sònraichte, faic Firebase allow read, write: if true air a mhìneachadh. Airson an t-sealladh fharsaing thar Supabase, Firebase, Clerk, agus Auth0, leugh Sganair mì-rèiteachaidh BaaS.
