FixVibe
Covered by FixVibehigh

Puipuia o le Next.js + Supabase: Puipuia o le Puipuiga o Tulaga Laila (RLS) Fa'asao

O talosaga e fausia ile Next.js ma le Supabase e masani ona fa'alagolago ile Row Level Security (RLS) e puipuia ai fa'amaumauga. O le le mafai ona fa'agaoioi le RLS po'o le fa'aseseina ole Supabase tagata fa'atau e mafai ona ta'ita'ia ai le fa'aalia atoatoa o fa'amaumauga, fa'atagaina tagata e le'i fa'atagaina e faitau pe suia fa'amaumauga ma'ale'ale.

CWE-284

Aafiaga

E mafai e le au osofa'i ona pasia le fa'atonuga o talosaga e faitau, fa'afou, pe tape fa'amaumauga i totonu o fa'amaumauga pe a le fa'amalosia lelei le Row Level Security (RLS) [S1]. E masani ona i'u ai i le fa'aaliaina o Fa'amatalaga Fa'asinomaga Fa'apitoa (PII) po'o fa'amatalaga ma'ale'ale o talosaga i tagata fa'aoga e na'o le fa'asinomaga ole API ki.

Mafua'aga

Supabase fa'aogaina le Postgres Row Level Security e fa'atautaia ai le fa'aogaina o fa'amatalaga i le tulaga fa'amaumauga, lea e fa'avae mo le fa'amautuina o fa'amaumauga [S1]. I totonu ole si'osi'omaga Next.js, e tatau i tagata atia'e ona faia se Supabase tagata fa'atau e sa'o le taulimaina o kuki ma sauniga e fa'amautu ai le saogalemu i le taimi o le fa'aliliuina o le [S2]. E masani ona aliaʻe faʻafitauli pe a:

  • E faia laulau e aunoa ma le fa'aogaina o le RLS, e mafai ai ona maua e ala i le public anon key [S1].
  • O le Supabase client ua misconfigured i le Next.js, ua le mafai ona pasi saʻo le tagata faʻamaonia faʻamaoniga i le database [S2].
  • Fa'aaoga fa'afuase'i e le au atia'e le ki service_role i le fa'ailoga tagata o lo'o i ai, lea e pasi uma ai faiga fa'avae RLS [S1].

Fa'atonu Sima

  • Fa'aagaoi le RLS: Ia mautinoa o lo'o fa'aagaoioi le Puipuiga o La'asaga mo laulau uma i lau Supabase database [S1].
  • Fa'amatala Faiga Fa'avae: Fausia faiga fa'apitoa a Postgres mo SELECT, INSERT, UPDATE, ma le DELETE faagaioiga e fa'atapula'a ai le avanoa e fa'atatau i le fa'aogaina o le UZCVIX4ZCVIX U.
  • Fa'aoga SSR Clients: Fa'atino le afifi @supabase/ssr e fatu ai tagata fa'atau ile Next.js e pulea sa'o le fa'amaoniga a le server-side ma le fa'aauauina o sauniga [S2].

Fa'afefea ona su'e le FixVibe

FixVibe ua uma ona ufiufi lenei mea e ala i siaki faʻapipiʻi-app ma repo. O le passive baas.supabase-rls module e maua le Supabase URL ma anon-key paiga mai fusi tutusa JavaScript, fesili i le PostgREST mo metadata laulau lautele, ma faia na'o le faitau na'o filifiliga e fa'amaonia ai le fa'aalia o fa'amatalaga e aunoa ma le suia o fa'amaumauga a tagata fa'atau. Toe fa'ata'ita'i fo'i le repo.supabase.missing-rls e fu'a ai femalagaiga SQL e fai ai laulau fa'alaua'itele e aunoa ma le ENABLE ROW LEVEL SECURITY, ma su'esu'e faalilolilo e su'e ai le fa'aaliga autu o le tautua a'o le'i o'o i le su'esu'ega.