FixVibe
Covered by FixVibehigh

Fiarovana ny Next.js + Supabase: Fisorohana ny fiarovana ny haavon'ny laharana (RLS)

Ny rindranasa namboarina miaraka amin'ny Next.js sy Supabase matetika dia miankina amin'ny Row Level Security (RLS) mba hiarovana ny angona. Ny tsy fampandehanana ny RLS na ny tsy fandrindrana ny mpanjifa Supabase dia mety hitarika ho amin'ny fampahafantarana ny angon-drakitra feno, ahafahan'ny mpampiasa tsy nahazo alalana hamaky na hanova ireo rakitsoratra saro-pady.

CWE-284

Fiantraikany

Ny mpanafika dia afaka mandingana ny lojika fampiharana mba hamakiana, fanavaozana, na hamafa ny rakitra ao amin'ny angon-drakitra raha toa ka tsy ampiharina araka ny tokony ho izy ny [S1] ny Row Level Security (RLS). Matetika izany dia miteraka fampahafantarana ny Personally Identifiable Information (PII) na angona fampiharana saropady amin'ireo mpampiasa izay tsy manana afa-tsy ny famaha API tsy mitonona anarana.

Antony fototra

Supabase dia mampiasa Postgres Row Level Security hitantana ny fidirana angon-drakitra amin'ny haavon'ny angona, izay fototra amin'ny fiarovana ny angona [S1]. Ao amin'ny tontolo Next.js, ny developer dia tsy maintsy mamorona mpanjifa Supabase izay mitantana tsara ny cookies sy ny sessions mba hitazomana ny filaminana mandritra ny famoahana [S2]. Matetika ny vulnerability dia miseho rehefa:

  • Noforonina tsy misy RLS ny tabilao, ka azo idirana amin'ny alalan'ny fanalahidin'ny anon public [S1].
  • Ny mpanjifa Supabase dia diso konfigurasi ao amin'ny Next.js, tsy afaka mampita tsara ny mari-pamantarana fanamarinana ny mpampiasa amin'ny angon-drakitra [S2].
  • Mampiasa tsy nahy ny fanalahidin'ny service_role amin'ny kaody amin'ny lafiny mpanjifa ny mpamorona, izay mandingana ny politika RLS rehetra [S1].

Fanamboarana simenitra

  • Alefaso ny RLS: Ataovy azo antoka fa alefa ny fiarovana ny haavon'ny laharana ho an'ny latabatra rehetra ao amin'ny angon-drakitra Supabase [S1].
  • Farito ny Politika: Mamorona politika Postgres manokana ho an'ny SELECT, INSERT, UPDATE, ary DELETE mba hamerana ny fidirana amin'ny ZZCVIXUFIX an'ny mpampiasa.
  • Mampiasà mpanjifa SSR: Ampiharo ny fonosana @supabase/ssr mba hamoronana mpanjifa ao amin'ny Next.js izay mitantana tsara ny fanamarinana amin'ny lafiny server sy ny faharetan'ny session [S2].

Ahoana no andrana FixVibe momba izany

FixVibe dia efa mirakitra an'izany amin'ny alàlan'ny fisavana app deployed sy repo. Ny maodely baas.supabase-rls passive dia mahita URL Supabase sy mpivady anon-key avy amin'ny fonosana JavaScript mitovy niaviany, manontany ny PostgREST ho an'ny metadata latabatra ho an'ny daholobe, ary manao safidy vakina fotsiny mba hanamafisana ny fiparitahan'ny angona tsy fantatra anarana nefa tsy manova ny angona mpanjifa. Ny scan Repo koa dia mihazakazaka repo.supabase.missing-rls hanamarihana ny fifindra-monina SQL izay mamorona latabatra ho an'ny daholobe tsy misy ENABLE ROW LEVEL SECURITY, ary ny fizahana miafina dia mikaroka ny fampahafantarana ny andraikitry ny serivisy alohan'ny hahatongavany amin'ny navigateur.