Таъсир
Татбиқ нашудани сатҳи амнияти сатҳ (RLS) ба ҳамлагарони номаълум имкон медиҳад, ки маълумотро аз пойгоҳи додаи Supabase дархост кунанд, вақте ки ҷадвалҳои ҷамъиятӣ тавассути сарҳади анони [S1] фош мешаванд. Азбаски барномаҳои Next.js маъмулан калиди Supabase anon-ро дар коди муштарӣ фош мекунанд, ҳамлакунанда метавонад ин калидро барои зангҳои мустақими REST API истифода барад, ки тавассути дастрасии корбар дар пойгоҳи додаҳо ва иттилооти ҳассос, [S2].
Сабаби аслӣ
Бо нобаёнӣ, ҷадвалҳои Postgres дар Supabase фаъолсозии возеҳи Сатҳи Амниятро талаб мекунанд, то дастрасии оммаро пешгирӣ кунад [S1]. Вақте ки таҳиягар ҷадвал эҷод мекунад, аммо фаъол кардани RLS-ро фаромӯш мекунад ё сиёсати маҳдудкунандаро муайян намекунад, пойгоҳи дода метавонад маълумотро ба ҳар касе, ки калиди anon-и лоиҳа дорад, фош кунад. Дар замимаҳои Next.js, рендеринг аз ҷониби сервер ва гирифтани муштарӣ инчунин танзими бодиққати муштарии Supabase-ро талаб мекунад, то контексти корбар тасдиқшуда ба қабати пойгоҳи додаҳои [S2] мерасад.
Ислоҳҳои мушаххас
- Даргиронидани RLS:
ALTER TABLE "your_table_name" ENABLE ROW LEVEL SECURITY;-ро барои ҳар як ҷадвали ҷамъиятӣ, ки маълумоти барнома [S1]-ро нигоҳ медорад, иҷро кунед. - Сиёсатро муайян кунед: Сиёсати мушаххасеро эҷод кунед, ки дастрасиро дар асоси ҳолати аутентификатсияи корбар маҳдуд мекунанд, ба монанди
CREATE POLICY "Users can see their own data" ON your_table_name FOR SELECT USING (auth.uid() = user_id);[S1]. - Муштариён аз ҷониби сервер эмин: Ҳангоми истифодаи Next.js, муштариёни нақши хидматрасониро танҳо сервер нигоҳ доред ва то ҳол пеш аз баргардонидани маълумот ба корбарон [S2] филтрҳои моликиятро истифода баред.
Чӣ тавр FixVibe онро озмоиш мекунад
FixVibe аллакай санҷиши танҳо барои хондан Supabase RLS-ро тавассути baas.supabase-rls иҷро мекунад. Сканер URL-и лоиҳаи Supabase ва калиди ҷамъиятии анониро аз бастаҳои JavaScript-и якхела кашф мекунад, аз PostgREST метамаълумотҳои ҷадвали оммавиро мепурсад ва кӯшиш мекунад, ки интихоби маҳдуди танҳо барои хонданро тасдиқ кунад, ки оё маълумот бе сессияи корбар фош мешавад. Он маълумоти эътимоднокии нақши хидматро ворид намекунад, навсозӣ намекунад, нест намекунад ё истифода намекунад. Сканҳои репо инчунин метавонанд инро қаблан тавассути repo.supabase.missing-rls, ки муҳоҷирати SQL-ро, ки ҷадвалҳои ҷамъиятиро бе ENABLE ROW LEVEL SECURITY месозанд, қайд мекунад, дарёфт карда метавонад.
