FixVibe
Covered by FixVibehigh

Te Uru Raraunga Kore Whakamana ma te Ngaro Supabase Haupae Haupae Haumarutanga (RLS)

I roto i nga tono tautoko a Supabase, ka whakawhirinaki te haumarutanga raraunga ki te Haumaru Taumata Haupae (RLS). Mena karekau te RLS i tino whakahoehia me te whirihora me nga kaupapa here, ka taea e tetahi kaiwhakamahi me te taviri ingoamuna te panui, te whakahou, te whakakore ranei i nga raraunga puta noa i te paataka raraunga katoa. He mea tino nui tenei i roto i nga taiao Next.js kei reira te kaihoko Supabase e arawhitia ana me te matua API.

CWE-284

Paanga

Ko te kore e whakatinana i te Haumaru Taumata Haupae (RLS) ka taea e te hunga whakaeke kore i whakamotuhēhē ki te uiui raraunga mai i te pātengi raraunga Supabase i te wa e kitea ana nga ripanga whanui i roto i te rohe o [S1]. Na te mea ko nga tono Next.js te nuinga ka whakaatu i te Supabase anon kī i roto i te waehere taha-kiritaki, ka taea e te kaitukino te whakamahi i tenei ki te mahi tika i te REST API ma te toro atu i nga korero a te kaiwhakamahi me te uru atu ki te papaarangi raraunga, te urunga atu ki te raraunga tono, me te urunga atu ki te paparangi raraunga. [S2].

Take Putake

Ma te taunoa, ko nga ripanga Postgres i Supabase e hiahia ana kia kaha te whakahohe i te Haumaru Taumata Haupae hei aukati i te urunga a te iwi [S1]. Ina hanga tepu e te kaiwhakawhanake engari ka wareware ki te whakaahei i te RLS, karekau ranei i te tautuhi kaupapa here here, ka kitea pea e te paataka raraunga nga raraunga ki te tangata kei a ia te tohu anon o te kaupapa [S1]. I roto i nga tono Next.js, ko te whakaputa taha-tumau me te tiki taha-kiritaki me tupato ki te tatūnga kiritaki Supabase kia tae atu te horopaki kaiwhakamahi motuhēhē ki te paparanga pātengi raraunga [S2].

Whakatika Raima

  • Whakahohe RLS: Whakaotia te ALTER TABLE "your_table_name" ENABLE ROW LEVEL SECURITY; mo ia ripanga tūmatanui e pupuri ana i nga raraunga taupānga [S1].
  • Whakaahua Kaupapa: Waihangahia nga kaupapa here motuhake e aukati ana i te uru i runga i te mana motuhēhēnga o te kaiwhakamahi, penei i te CREATE POLICY "Users can see their own data" ON your_table_name FOR SELECT USING (auth.uid() = user_id); [S1].
  • Nga Kiritaki Taha-Tumau Haumaru: Ina whakamahi ana i te Next.js, kia mau ki nga kaihoko mahi-mahi-anake me te whakamahi tonu i nga whiriwhiringa mana i mua i te whakahoki raraunga ki nga kaiwhakamahi [S2].

Me pehea te whakamatautau a FixVibe

Kei te whakahaere kē a FixVibe i te panui-anake Supabase RLS tirohia ma te baas.supabase-rls. Ka kitea e te matawai te URL kaupapa Supabase me te taviri anon a te iwi mai i nga paihere JavaScript taketake, ka patai ki a PostgREST mo nga metadata ripanga whanui, me te ngana ki te kowhiri panui-anake ki te whakaū mena ka kitea nga raraunga me te kore he huihuinga kaiwhakamahi. Kaore e whakauru, e whakahou, e muku, e whakamahi ranei i nga tohu tohu-mahi. Ka taea hoki e nga karapa Repo te hopu i tenei i mua ake ma te repo.supabase.missing-rls, e tohu ana i nga hekenga SQL e hanga ana i nga ripanga whanui kaore he ENABLE ROW LEVEL SECURITY.