FixVibe
Covered by FixVibehigh

Ewlekirina Next.js + Supabase: Pêşîlêgirtina Ewlehiya Asta Rêzê (RLS) Derbaskirin

Serlêdanên ku bi Next.js û Supabase hatine çêkirin bi gelemperî ji bo parastina daneyan xwe dispêrin Ewlehiya Asta Rêzê (RLS). Neçalakkirina RLS an mîhengkirina xelet a muwekîlê Supabase dikare bibe sedema vegirtina tam a databasê, ku destûrê dide bikarhênerên bêdestûr ku tomarên hesas bixwînin an biguhezînin.

CWE-284

Bandor

Heke Ewlekariya Asta Rêzê (RLS) [S1] bi rêkûpêk neyê sepandin, êrîşkar dikarin mantiqa serîlêdanê derbas bikin da ku tomarên di databasê de bixwînin, nûvekirin an jêbirin. Ev pir caran dibe sedema eşkerekirina Agahdariya Kesane ya Nasname (PII) an daneyên serîlêdanê yên hesas ji bikarhênerên ku tenê gihîştina mifteya nenaskirî ya gelemperî API.

Sedema bingehîn

Supabase Ewlekariya Asta Rêza Postgres bikar tîne da ku gihîştina daneyê di asta databasê de rêve bibe, ku ji bo ewlehiya daneya [S1] bingehîn e. Di hawîrdorek Next.js de, pêşdebiran pêdivî ye ku xerîdarek Supabase biafirîne ku bi rast cookies û danişînan digire da ku di dema pêşkêşkirina [S2] de ewlehiyê biparêze. Zelalbûn bi gelemperî gava ku:

  • Tablo bêyî ku RLS were çalak kirin têne çêkirin, ku wan bi riya mifteya anonê ya gelemperî [S1] bigihînin.
  • Muwekîlê Supabase di Next.js de xelet hatiye mîheng kirin, nikarî bi rêkûpêk nîşanekên piştrastkirina bikarhêner derbasî databasa [S2] bike.
  • Pêşdebir bi xeletî mifteya service_role di koda xerîdar de bikar tînin, ku hemî polîtîkayên RLS [S1] derbas dike.

Serastkirinên Beton

  • RLS çalak bike: Piştrast bike ku Ewlekariya Asta Rêzê ji bo her tabloya databasa weya Supabase [S1] çalak e.
  • Polîtîkayan pênase bikin: Ji bo SELECT, INSERT, UPDATE, û UPDATE, û DELETE polîtîkayên taybet ên Postgres biafirînin da ku li ser bingeha UID-ê operasyonên bikarhêner sînordar bikin. [S1].
  • Xerîdarên SSR-ê bikar bînin: Pakêta @supabase/ssr bicîh bînin da ku di Next.js de xerîdar biafirînin ku rastrastkirina server-aliyê û berdewamiya danişînê [S2] bi rê ve dibin.

FixVibe çawa ji bo wê diceribîne

FixVibe jixwe vê yekê bi vekolînên sepanê û repo-yê veqetandî vedigire. Modula baas.supabase-rls ya pasîf URL-ya Supabase û cotên anon-key ji hevokên JavaScript-ê yên heman eslî kifş dike, ji PostgREST metadata tabloya gelemperî dipirse, û hilbijarkên tenê-xwendewarî yên sînorkirî pêk tîne da ku daneyên nenas ên xerîdar piştrast bike bêyî guheztinê. Îskandina repoyê jî repo.supabase.missing-rls dimeşîne da ku koçên SQL yên ku tabloyên giştî bêyî ENABLE ROW LEVEL SECURITY diafirînin nîşan bide, û skanîyên veşartî berî ku ew bigihîje gerokê li pêşandana key-rola karûbarê digere.