Täsir
Setir derejesiniň howpsuzlygyny (RLS) ýerine ýetirmezlik, tassyklanmadyk hüjümçilere Supabase maglumatlar bazasyndan maglumat soramaga mümkinçilik berýär, köpçülige açyk tablisalar [S1]. Next.js programmalary, adatça, Supabase anon açaryny açýanlygy sebäpli, hüjümçi bu açary ulanyp, REST API jaňlaryna gönüden-göni REST API açýar. [S2].
Kök sebäp
Düzgüne görä, Supabase-de Postgres tablisalary [S1] köpçülige girmeginiň öňüni almak üçin Row Level Security-iň aç-açan işjeňleşdirilmegini talap edýär. Haçan-da bir dörediji tablisa döredeninde, ýöne RLS açmagy ýatdan çykaranda ýa-da çäklendiriji syýasatlary kesgitlemese, maglumatlar bazasy taslamanyň anon açary [S1] açýanlara maglumat berip biler. Next.js programmalarynda serwer tarapyny görkezmek we müşderi tarapyny almak hem seresaply Supabase müşderi gurnamagyny talap edýär, şonuň üçin tassyklanan ulanyjy konteksti [S2] maglumat bazasyna ýetýär.
Beton düzedişler
1.
- Syýasatlary kesgitläň: Ulanyjynyň tanamaklyk ýagdaýyna esaslanyp,
CREATE POLICY "Users can see their own data" ON your_table_name FOR SELECT USING (auth.uid() = user_id);[S1] ýaly ygtyýarlylygy çäklendirýän anyk syýasatlary dörediň. - Howpsuz serwer tarapy müşderileri: Next.js ulananyňyzda, hyzmat roluny müşderileriň diňe serwerinde saklaň we [S2] ulanyjylara maglumatlary gaýtarmazdan ozal eýeçilik süzgüçlerini ulanyň.
FixVibe munuň üçin nädip synag edýär
FixVibe eýýäm okalýan diňe Supabase RLS baas.supabase-rls arkaly işleýär. Skaner Supabase taslamasynyň URL-sini we birmeňzeş JavaScript bukjalaryndan köpçülige açyk açary açýar, PostgREST-den umumy tablisanyň meta-maglumatyny soraýar we ulanyjy sessiýasyz maglumatlaryň açylýandygyny tassyklamak üçin çäkli okalýan saýlamalara synanyşýar. Hyzmat rol maglumatyny goýmaýar, täzelemeýär, pozmaýar we ulanmaýar. Repo skanerleri muny has öň repo.supabase.missing-rls arkaly hem alyp biler, bu bolsa ENABLE ROW LEVEL SECURITY bolmazdan köpçülikleýin tablisalary döredýän SQL göçümlerini belleýär.
