FixVibe
Covered by FixVibehigh

Rochtain Neamhúdaraithe ar Shonraí trí Shlándáil Leibhéal Rae Supabase ar Iarraidh (RLS)

I bhfeidhmchláir a fhaigheann tacaíocht Supabase, braitheann slándáil sonraí ar Shlándáil Leibhéal Rae (RLS). Mura bhfuil RLS cumasaithe agus cumraithe go sainráite le polasaithe, is féidir le haon úsáideoir a bhfuil an eochair phoiblí gan ainm aige sonraí a léamh, a nuashonrú nó a scriosadh ar fud an bhunachair shonraí iomláin. Tá sé seo ríthábhachtach go háirithe i dtimpeallachtaí Next.js áit a gcuirtear an cliant Supabase in aithne go minic le heochair phoiblí API.

CWE-284

Tionchar

Má theipeann ar Shlándáil Leibhéil Rae (RLS) a chur i bhfeidhm, ceadaítear d’ionsaitheoirí neamhdhlisteanaithe sonraí a fhiosrú ó bhunachar sonraí Supabase nuair a nochtar táblaí poiblí tríd an teorainn anon [S1]. Toisc go nochtar feidhmchláir Next.js go hiondúil an eochair Supabase anon i gcód taobh an chliaint, is féidir le hionsaitheoir an eochair seo a úsáid chun REST API a dhéanamh ar ghlaonna íogaire chuig an mbunachar sonraí agus rochtain a fháil ar an bhfeidhmchlár atá beartaithe don úsáideoir. [S2].

Fréamhchúis

De réir réamhshocraithe, éilíonn táblaí Postgres i Supabase gníomhachtú sainráite Slándáil Leibhéal Rae chun rochtain phoiblí a chosc [S1]. Nuair a chruthaíonn forbróir tábla ach go ndéanann sé dearmad ar RLS a chumasú nó má theipeann air polasaithe sriantacha a shainiú, féadfaidh an bunachar sonraí sonraí a nochtadh d’aon duine a bhfuil eochair anon an tionscadail aige nó aici [S1]. I bhfeidhmchláir Next.js, éilíonn rindreáil ar thaobh an fhreastalaí agus gabháil ar thaobh an chliaint socrú cúramach cliant Supabase ionas go sroicheann comhthéacs fíordheimhnithe úsáideora ciseal an bhunachair sonraí [S2].

Ceartúcháin nithiúla

  • Cumasaigh RLS: Rith ALTER TABLE "your_table_name" ENABLE ROW LEVEL SECURITY; le haghaidh gach tábla poiblí a stórálann sonraí app [S1].
  • Sainmhínigh Beartais: Cruthaigh sainbheartais a chuireann srian le rochtain bunaithe ar stádas fíordheimhnithe an úsáideora, amhail CREATE POLICY "Users can see their own data" ON your_table_name FOR SELECT USING (auth.uid() = user_id); [S1].
  • Cliaint Slán ar Thaobh an Fhreastalaí: Agus Next.js in úsáid agat, coinnigh cliant ról-seirbhíse mar fhreastalaí amháin agus cuir scagairí úinéireachta i bhfeidhm go fóill sula seolann tú sonraí ar ais chuig úsáideoirí [S2].

Conas a thástálann FixVibe é

Ritheann FixVibe seiceáil inléite amháin Supabase RLS cheana féin trí baas.supabase-rls. Aimsíonn an scanóir URL tionscadail Supabase agus eochair phoiblí anonn ó chuachtaí JavaScript den bhunadh céanna, iarrann sé meiteashonraí táblaí poiblí do PostgREST, agus déanann sé iarracht ar roghanna inléite amháin chun a dhearbhú an bhfuil sonraí nochta gan seisiún úsáideora. Ní chuireann sé isteach, nuashonraítear, ní scriosann sé ná ní úsáideann sé dintiúir ról seirbhíse. Is féidir le scananna Repo é seo a ghabháil níos luaithe freisin trí repo.supabase.missing-rls, a thugann bratach d'imscrúduithe SQL a chruthaíonn táblaí poiblí gan ENABLE ROW LEVEL SECURITY.