FixVibe

// docs / baas security / supabase storage

Liosta-sgrùdaidh tèarainteachd bhucaidean stòrais Supabase: 22 nì

Tha Stòras Supabase na phasgan tana mu bhucaid S3-co-fhreagarrach agus an aon mhodail Tèarainteachd Sreath-ìre 's a th' aig an stòr-dàta. Tha sin a' ciallachadh gun toir na h-aon duilgheadasan RLS a bheir buaidh air clàran buaidh air ruigsinn faidhle — agus beagan dhuilgheadasan stòrais-shònraichte a nochdas nuair a bhios innealan còdaidh AI a' ceangal luchdaidhean. Tha an liosta-sgrùdaidh seo 22-nì thar còig roinnean: rèiteachadh bucaid, poileasaidhean RLS, dearbhadh luchdaidh, URLan air an soidhneadh, agus slàinte gnìomhachail. Tha gach fear dearbhaichte ann an nas lugha na 15 mionaidean.

Tha gach nì gu h-ìosal riatanach. Airson dòigh-obrach bunaiteach RLS, faic Sganair RLS Supabase. Airson a' chlas foillseachadh-iuchrach faisg air stòras, faic Iuchair seirbheis-dreuchd Supabase air a foillseachadh ann an JavaScript.

Rèiteachadh bucaid

Tòisich leis na bun-roghainnean ceart. Leigidh bucaid mì-rèidhte faidhlichean a-mach a dh'aindeoin a bheil an RLS agad ceart no nach eil.

  1. Bun-roghainnich gach bucaid gu prìobhaideach. Ann an Dashboard Supabase → Stòras → Bucaidean, suidhich an suidse Bucaid phoblach gu dheth mura h-eil adhbhar follaiseach agad (so-mhaoinean margaidheachd, ìomhaighean poblach gun PII). Bidh bucaidean poblach a' seachnadh RLS airson obraichean leughaidh — gabhaidh duine sam bith le ainm a' bhucaid liostadh agus luchdadh sìos.
  2. Suidhich cuibhreann meud cruaidh air gach bucaid. Dashboard → Roghainnean bucaid → Cuibhreann meud faidhle. 'S e 50 MB bun-roghainn ciallach airson luchdaidhean cleachdaiche; cuir suas e a dh'aon ghnothach airson cùisean bhidio / faidhle-mòr. Às a aonais, dh'fhaodadh aon luchdadh droch-rùnach a' chuibhreann stòrais agad no a' bann-leathad mìosail agad a chleachdadh.
  3. Cuingealaich seòrsachan MIME ceadaichte gach bucaid. Liosta seòrsachan MIME ceadaichte — liosta-cheadachaidh follaiseach, chan e liosta-bhacaidh. image/jpeg, image/png, image/webp airson bucaidean ìomhaigh-a-mhàin. Na ceadaich text/html, application/javascript, no image/svg+xml a-riamh ann am bucaid susbaint-cleachdaiche — bidh iad a' ruith sa bhrabhsair nuair a thèid am frithealadh tro URL air a shoidhneadh.
  4. Cleachd aon bhucaid gach seòrsa susbaint, chan ann aon bhucaid co-roinnte. 'S e roghainnean gach bucaid (meud, seòrsachan MIME, poileasaidhean RLS) a' mhion-dhealachadh a th' agad. Tha bucaid user-avatars, bucaid document-uploads, agus bucaid public-assets nas fhasa a ghlasadh na aon bhucaid measgaichte.
  5. Dearbh rèiteachadh CORS ma tha luchdaidhean frontend ann. Ma luchdaicheas cleachdaichean suas gu dìreach bhon bhrabhsair gu URL air a soidhneadh, feumaidh CORS na bucaid an tùs cinneasachaidh agad a liostadh. Tha * ceadaichte airson bucaidean poblach a-mhàin — cha bhi i a-riamh airson bucaidean a' cumail PII cleachdaiche.

Poileasaidhean RLS air storage.objects

Bidh Stòras Supabase a' stòradh meata-dàta faidhle sa chlàr storage.objects. Bidh RLS air a' chlàr sin a' smachdachadh cò as urrainn faidhlichean a leughadh, a luchdadh suas, ùrachadh, no a dhubhadh às. Às aonais RLS, 's e brat poblach/prìobhaideach a' bhucaid an aon dìon agad.

  1. Dearbh gu bheil RLS air a chur an comas air storage.objects. Feumaidh SELECT rowsecurity FROM pg_tables WHERE schemaname = 'storage' AND tablename = 'objects'; true a thilleadh. Bidh Supabase ga chur an comas a dh'aon ghnothach air pròiseactan ùra; dearbh nach deach a chur dheth.
  2. Sgrìobh poileasaidh SELECT air a sgòpadh gu auth.uid() airson bucaidean prìobhaideach. CREATE POLICY "users_read_own_files" ON storage.objects FOR SELECT USING (auth.uid()::text = (storage.foldername(name))[1]);. 'S e an gnàth faidhlichean a stòradh fo [user-id]/[filename] agus storage.foldername() a chleachdadh gus an sealbhadair a tharraing às an t-slighe.
  3. Sgrìobh poileasaidh INSERT a chuireas an aon ghnàth slighe an gnìomh. CREATE POLICY "users_upload_own" ON storage.objects FOR INSERT WITH CHECK (auth.uid()::text = (storage.foldername(name))[1]);. Às aonais WITH CHECK, 's urrainn do chleachdaiche dearbhaichte luchdadh suas a-steach do phasgan cleachdaiche eile.
  4. Cuir ris poileasaidhean UPDATE agus DELETE ma thaicidh an aplacaid agad deasachaidhean no sgrios fhaidhlichean. Feumaidh gach àithne a phoileasaidh fhèin. Tha leigeil seachad DELETE a' ciallachadh nach urrainn do chleachdaichean dearbhaichte na faidhlichean aca fhèin a thoirt air falbh; tha leigeil seachad UPDATE a' ciallachadh gum fàillig sgrìobhadh-thairis gu sàmhach.
  5. Dearbh ruigsinn tar-chleachdaiche ann an dà sheisean bhrabhsairean. Clàraich a-steach mar Chleachdaiche A, luchdaich suas faidhle, dèan lethbhreac den t-slighe. Clàraich a-steach mar Chleachdaiche B ann am brabhsair eile, feuch ris an fhaidhle fhaighinn tron API REST. Feumaidh an fhreagairt a bhith 403 no 404, cha bhi i 200 a-riamh.
sql
-- Confirm RLS on storage.objects
SELECT rowsecurity
FROM   pg_tables
WHERE  schemaname = 'storage' AND tablename = 'objects';

-- SELECT policy: scope reads to the owning user's folder.
CREATE POLICY "users_read_own_files"
  ON storage.objects
  FOR SELECT
  USING (auth.uid()::text = (storage.foldername(name))[1]);

-- INSERT policy: enforce the [user-id]/[filename] path convention.
CREATE POLICY "users_upload_own"
  ON storage.objects
  FOR INSERT
  WITH CHECK (auth.uid()::text = (storage.foldername(name))[1]);

Dearbhadh luchdaidh

Dearbh gach luchdadh aig taobh an fhrithealaiche, fiù 's nuair a tha cuingealachaidhean MIME agus meud aig a' bhucaid. Bidh innealan còdaidh AI a' cruthachadh dearbhadh cliant-a-mhàin mar bhun-roghainn; chan eil sin a' dìon dad.

  1. Ath-sgrùd seòrsa MIME aig taobh an fhrithealaiche bho na bitean fìor anns an fhaidhle, chan ann bhon chinn Content-Type. Cleachd leabharlann mar file-type (Node) no sniffing bitean draoidheil. 'S urrainn do dh'ionnsaighiche a' chùis a chumail Content-Type: image/jpeg air faidhle a tha gu fìor na phacaid polyglot HTML / JavaScript.
  2. Thoir air falbh meata-dàta EXIF bho ìomhaighean luchdaichte. 'S urrainn do EXIF co-chomharran GPS, àireamhan sreathach inneal, agus stampaichean-ama a chumail. Cleachd sharp le .withMetadata(false) no exif-parser gus an toirt air falbh mus tèid an stòradh.
  3. Diùlt SVGan a chumas tagaichean script no làimhsichean onload. 'S e XML a th' ann an SVG — agus tha mòran aplacaidean a chruthaich AI a' ceadachadh luchdaidhean SVG mar "dìreach ìomhaigh". Cleachd DOMPurify aig taobh an fhrithealaiche no diùlt luchdaidhean SVG gu tur.
  4. Cleachd ainmean-faidhle cinnteach, do-tomhaiste. Na glèidh an t-ainm-faidhle tùsail. Cleachd UUID no hash de shusbaint an fhaidhle. Bidh ainmean-faidhle tùsail a' leigeil a-mach ("passport_scan_2024_01_15.jpg") agus bidh ainmean ro-innseach a' ceadachadh àireamhachaidh.

URLan air an soidhneadh

'S e URLan air an soidhneadh mar a tha cliantan a' ruigsinn bucaidean prìobhaideach. Tha cuibhrionn-tìm, sgòpa a' bhucaid, agus na thèid a chlàradh cudromach.

  1. Bun-roghainnich crìoch URL air a soidhneadh gu 1 uair a thìde no nas lugha. Bidh createSignedUrl(path, expiresIn) aig SDK JS Supabase a' gabhail diogan. Na cleachd luachan mar 31536000 (aon bhliadhna) a-riamh — bidh an URL na cheangal leth-phoblach buan.
  2. Na stòr URLan air an soidhneadh san stòr-dàta agad a-riamh. Cruthaich feadhainn ùra aig taobh an fhrithealaiche air gach iarrtas. Bidh URL air a soidhneadh stòraichte le crìoch bliadhna a leigeas a-mach tro dump stòir-dàta a' toirt seachad ruigsinn fad-ùine.
  3. Clàraich cruthachadh URL air a soidhneadh, chan e dìreach luchdaidhean faidhle. Ma tha amharas ort gun deach a chur an cunnart nas fhaide air adhart, feumaidh fios a bhith agad cò chruthaich an URL agus cuin. Clàraich auth.uid() + bucaid + slighe an nì + stampa-ama.
  4. Cleachd an roghainn downloadAs nuair a tha thu a' frithealadh fhaidhlichean cleachdaiche-luchdaichte. createSignedUrl(path, expiresIn, { download: '.jpg' }) a' sparradh ceann Content-Disposition: attachment gus am bi am faidhle ga luchdadh sìos seach a bhith ga rendireadh — a' cur às don chlas ruithidh HTML / SVG / HTML-ann-am-PDF.

Slàinte gnìomhachail

Bidh rèiteachadh stòrais a' siabadh thar tìm. Cumaidh na ceithir nithean gnìomhachail seo an uachdar teann.

  1. Sgrùd bucaidean gach ràithe. Dashboard → Stòras → Bucaidean. Dearbh gu bheil staid phoblach/phrìobhaideach agus liostaichean seòrsa MIME a' freagairt air na bhios an aplacaid an dùil. Bidh bucaidean a chaidh a chruthachadh "gu sealach" a' fàs maireannach mura toir duine sam bith air falbh iad.
  2. Cum sùil air obraichean liosta gun aithne. Bidh logaichean stòrais (Dashboard → Logaichean → Stòras) a' clàradh iarrtasan LIST. Tha spìc de dh'iarrtasan liosta gun aithne an aghaidh bucaid prìobhaidich a' ciallachadh gu bheil cuideigin ga thomhas bhon taobh a-muigh.
  3. Suidhich poileasaidh glèidhidh airson luchdaidhean diombuain. Bu chòir do bhucaidean sealach (ro-shealladh ìomhaigh, luchdaidhean dreachd) fèin-sgrios às dèidh 24-72 uair tro ghnìomh sgeidealte. 'S e dleastanas a th' ann an glèidheadh gun chrìoch fo dhleastanasan lùghdachadh-dàta GDPR / CCPA.
  4. Ruith sgan FixVibe gach mìos. Tomhaisidh an sgrùdadh baas.supabase-storage-public bucaidean a fhreagras air GET + LIST gun aithne. Thèid bucaidean ùra a chur ris; bidh seann fheadhainn ag atharrachadh am faicsinneachd — chan eil ach sganadh leantainneach a' glacadh an t-siabaidh.

An ath cheum

Ruith sgan FixVibe an aghaidh URL a' chinneasachaidh agad — nochdaidh liostaichean stòrais gun aithne fo baas.supabase-storage-public. Cuir an liosta-sgrùdaidh seo còmhla ri Sganair RLS Supabase airson na h-ìre clàr agus Iuchair seirbheis-dreuchd Supabase air a foillseachadh ann an JavaScript airson faisge an fhoillseachaidh iuchrach. Airson mì-rèiteachaidhean stòrais thar solaraichean BaaS eile, faic Sganair mì-rèiteachaidh BaaS.

// 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

Liosta-sgrùdaidh tèarainteachd bhucaidean stòrais Supabase: 22 nì — Docs · FixVibe