FixVibe
Covered by FixVibehigh

Next.js + Supabase a Dhaingniú: Seachbhóithre Slándála Leibhéal Rae (RLS) a Chosc

Is minic a bhíonn feidhmchláir a tógadh le Next.js agus Supabase ag brath ar Shlándáil Leibhéal Rae (RLS) chun sonraí a chosaint. Mura gcuirtear ar chumas RLS nó má dhéantar míchumrú ar an gcliant Supabase d’fhéadfadh nochtadh bunachar sonraí iomlán a bheith mar thoradh, rud a ligeann d’úsáideoirí neamhúdaraithe taifid íogaire a léamh nó a mhodhnú.

CWE-284

Tionchar

Is féidir le hionsaitheoirí loighic feidhmchlár a sheachaint chun taifid sa bhunachar sonraí a léamh, a nuashonrú nó a scriosadh mura gcuirtear Slándáil Leibhéil Rae (RLS) i bhfeidhm i gceart [S1]. Is minic a bhíonn sé mar thoradh ar fhaisnéis phearsanta inaitheanta (PII) nó sonraí feidhmchláir íogaire a nochtadh d’úsáideoirí nach bhfuil rochtain acu ach ar an eochair phoiblí gan ainm API.

Fréamhchúis

Úsáideann Supabase Slándáil Leibhéal Rae Postgres chun rochtain ar shonraí a bhainistiú ar leibhéal an bhunachair shonraí, rud atá bunúsach chun sonraí a dhaingniú [S1]. I dtimpeallacht Next.js, ní mór d’fhorbróirí cliant Supabase a chruthú a láimhseálann fianáin agus seisiúin i gceart chun slándáil a chothabháil le linn rindreála taobh an fhreastalaí [S2]. Tarlaíonn leochaileachtaí de ghnáth nuair:

  • Cruthaítear táblaí gan RLS cumasaithe, rud a fhágann go mbeidh siad inrochtana tríd an eochair phoiblí [S1].
  • Tá an cliant Supabase míchumraithe i Next.js, gan comharthaí fíordheimhnithe úsáideora a chur ar aghaidh i gceart chuig an mbunachar sonraí [S2].
  • Úsáideann forbróirí de thaisme an eochair service_role i gcód taobh an chliaint, a sheachnaíonn gach beartas RLS [S1].

Ceartúcháin nithiúla

  • Cumasaigh RLS: Cinntigh go bhfuil Slándáil Leibhéil Ró cumasaithe do gach tábla i do bhunachar sonraí Supabase [S1].
  • Sainmhínigh Beartais: Cruthaigh sainbheartais Postgres le haghaidh oibríochtaí SELECT, INSERT, UPDATE, agus DELETE chun rochtain a shrianadh bunaithe ar oibríochtaí an úsáideora UISCE.
  • Úsáid Cliaint SSR: Cuir an pacáiste @supabase/ssr i bhfeidhm chun cliaint a chruthú i Next.js a bhainistíonn fíordheimhniú taobh an fhreastalaí agus marthanacht seisiúin [S2] i gceart.

Conas a thástálann FixVibe é

Clúdaíonn FixVibe é seo cheana féin trí sheiceálacha feidhmchláir agus athsheiceáil. Aimsíonn an modúl éighníomhach baas.supabase-rls URL Supabase agus péirí gan eochair ó chuachtaí JavaScript den bhunadh céanna, iarrann PostgREST meiteashonraí táblaí poiblí, agus déanann sé roghanna teoranta inléite amháin chun nochtadh sonraí gan ainm a dhearbhú gan sonraí custaiméirí a athrú. Ritheann scananna Repo repo.supabase.missing-rls freisin chun ascnaimh SQL a chruthaíonn táblaí poiblí gan ENABLE ROW LEVEL SECURITY a mharcáil, agus lorgaíonn scananna rúnda nochtadh eochair seirbhíse sula sroicheann sé an brabhsálaí.