බලපෑම
පේළි මට්ටමේ ආරක්ෂාව (RLS) [S1] නිසි ලෙස බලාත්මක කර නොමැති නම්, ප්රහාරකයන්ට දත්ත සමුදායේ වාර්තා කියවීමට, යාවත්කාලීන කිරීමට හෝ මැකීමට යෙදුම් තර්කය මඟ හැරිය හැක. මෙය බොහෝ විට පොදු නිර්නාමික API යතුරට පමණක් ප්රවේශය ඇති පරිශීලකයින්ට පුද්ගලිකව හඳුනාගත හැකි තොරතුරු (PII) හෝ සංවේදී යෙදුම් දත්ත නිරාවරණය වීමට හේතු වේ.
මූල හේතුව
Supabase දත්ත ගබඩා මට්ටමින් දත්ත ප්රවේශය කළමනාකරණය කිරීම සඳහා Postgres Row Level ආරක්ෂාව භාවිතා කරයි, එය [S1] දත්ත සුරක්ෂිත කිරීම සඳහා මූලික වේ. Next.js පරිසරයක් තුළ, සංවර්ධකයින් විසින් [S2] සේවාදායක පාර්ශ්ව විදැහුම්කරණයේදී ආරක්ෂාව පවත්වා ගැනීම සඳහා කුකීස් සහ සැසි නිවැරදිව හසුරුවන Supabase සේවාලාභියෙකු නිර්මාණය කළ යුතුය. අවදානම් සාමාන්යයෙන් පැන නගින්නේ:
- RLS සක්රීය නොකර වගු සාදනු ලබන අතර, ඒවාට පොදු ඇනෝන් යතුර [S1] හරහා ප්රවේශ විය හැක.
- Supabase සේවාලාභියා Next.js හි වැරදි ලෙස වින්යාස කර ඇත, [S2] දත්ත ගබඩාවට පරිශීලක සත්යාපන ටෝකන නිසි ලෙස ලබා දීමට අපොහොසත් වේ.
- සියලුම RLS ප්රතිපත්ති [S1] මඟහරින සේවාලාභී පාර්ශවීය කේතය තුළ සංවර්ධකයින් අහම්බෙන්
service_roleයතුර භාවිත කරයි.
කොන්ක්රීට් සවි කිරීම්
- RLS සබල කරන්න: ඔබේ Supabase දත්ත ගබඩාවේ [S1] සෑම වගුවකටම පේළි මට්ටමේ ආරක්ෂාව සබල කර ඇති බව සහතික කර ගන්න.
- ප්රතිපත්ති නිර්වචනය කරන්න:
SELECT,INSERT,UPDATE, සහDELETEසඳහා නිශ්චිත Postgres ප්රතිපත්ති සාදන්න Ussid ප්රවේශය සීමා කිරීමට [S1]. - SSR සේවාලාභීන් භාවිතා කරන්න:
@supabase/ssrපැකේජය ක්රියාත්මක කර Next.js හි සේවාදායක සත්යාපනය සහ සැසි කල්පැවැත්ම නිවැරදිව කළමනාකරණය කරන [S2].
FixVibe ඒ සඳහා පරීක්ෂා කරන ආකාරය
FixVibe දැනටමත් යෙදවූ-යෙදුම සහ repo චෙක්පත් හරහා මෙය ආවරණය කරයි. උදාසීන baas.supabase-rls මොඩියුලය එකම සම්භවයක් ඇති JavaScript මිටි වලින් Supabase URL සහ ඇනොන්-යතුරු යුගල සොයා ගනී, පොදු වගු පාරදත්ත සඳහා PostgREST අසයි, සහ නිර්නාමික දත්ත නිරාවරණ දත්ත තහවුරු කිරීම සඳහා සීමිත කියවීමට පමණක් තේරීම් සිදු කරයි. ENABLE ROW LEVEL SECURITY නොමැතිව පොදු වගු නිර්මාණය කරන SQL සංක්රමණ සලකුණු කිරීමට Repo ස්කෑන් repo.supabase.missing-rls ධාවනය කරයි, සහ රහස් ස්කෑන් මඟින් එය බ්රවුසරයට ළඟා වීමට පෙර සේවා-භූමකාමී යතුර නිරාවරණය සඳහා සොයයි.
