FixVibe
Covered by FixVibehigh

අස්ථානගත වූ Supabase පේළි මට්ටමේ ආරක්ෂාව (RLS) හරහා අනවසර දත්ත ප්‍රවේශය

Supabase පිටුබලය සහිත යෙදුම්වල, දත්ත ආරක්ෂාව පේළි මට්ටමේ ආරක්ෂාව (RLS) මත රඳා පවතී. RLS පැහැදිලිව සක්‍රීය කර ප්‍රතිපත්ති සමඟ වින්‍යාස කර නොමැති නම්, පොදු නිර්නාමික යතුර සහිත ඕනෑම පරිශීලකයෙකුට සම්පූර්ණ දත්ත සමුදාය හරහා දත්ත කියවීමට, යාවත්කාලීන කිරීමට හෝ මැකීමට හැකිය. Supabase සේවාලාභියා බොහෝ විට පොදු API යතුරකින් ආරම්භ කරන ලද Next.js පරිසරයන්හි මෙය විශේෂයෙන් වැදගත් වේ.

CWE-284

බලපෑම

පේළි මට්ටමේ ආරක්ෂාව (RLS) ක්‍රියාත්මක කිරීමට අපොහොසත් වීම, RLS, [S1] ඇනොන් මායිම හරහා පොදු වගු නිරාවරණය වන විට Supabase දත්ත ගබඩාවෙන් දත්ත විමසීමට අනවසර ප්‍රහාරකයන්ට ඉඩ සලසයි. Next.js යෙදුම් සාමාන්‍යයෙන් සේවාලාභී පාර්ශවීය කේතයේ Supabase anon යතුර නිරාවරණය කරන බැවින්, ප්‍රහාරකයෙකුට මෙම යතුර භාවිතා කරමින් සෘජුවම විවේකයක් ලබා ගැනීමට ZXCVFIXVIBETOKEN7ZXCEV ඇමතුම් දත්ත වෙත ප්‍රවේශ විය හැක. සංවේදී පරිශීලක තොරතුරු [S2].

මූල හේතුව

පෙරනිමියෙන්, Supabase හි Postgres වගු සඳහා පොදු ප්‍රවේශය වැළැක්වීම සඳහා [S1] පේළි මට්ටමේ ආරක්ෂාව පැහැදිලි සක්‍රිය කිරීම අවශ්‍ය වේ. සංවර්ධකයෙකු වගුවක් සාදන විට RLS සබල කිරීමට අමතක වූ විට හෝ සීමාකාරී ප්‍රතිපත්ති නිර්වචනය කිරීමට අපොහොසත් වූ විට, දත්ත සමුදාය ව්‍යාපෘතියේ anon යතුර [S1] සතු ඕනෑම කෙනෙකුට දත්ත හෙළිදරව් කළ හැක. Next.js යෙදුම්වල, සේවාදායක-පාර්ශවීය විදැහුම්කරණය සහ සේවාලාභී පාර්ශවය ලබා ගැනීමේදීද ප්‍රවේශම් සහගත Supabase සේවාදායක සැකසුම අවශ්‍ය වේ, එබැවින් සත්‍යාපනය කළ පරිශීලක සන්දර්භය දත්ත සමුදා ස්තරය වෙත ළඟා වේ.

කොන්ක්‍රීට් සවි කිරීම්

  • RLS සබල කරන්න: යෙදුම් දත්ත [S1] ගබඩා කරන සෑම පොදු වගුවක් සඳහාම ALTER TABLE "your_table_name" ENABLE ROW LEVEL SECURITY; ක්‍රියාත්මක කරන්න.
  • ප්‍රතිපත්ති නිර්වචනය කරන්න: CREATE POLICY "Users can see their own data" ON your_table_name FOR SELECT USING (auth.uid() = user_id); [S1] වැනි පරිශීලකගේ සත්‍යාපන තත්ත්වය මත පදනම්ව ප්‍රවේශය සීමා කරන විශේෂිත ප්‍රතිපත්ති සාදන්න.
  • Secure Server-Side Clients: Next.js භාවිතා කරන විට, සේවා-භූමකාමී සේවාලාභීන් සේවාදායකය-පමණක් තබාගෙන [S2] පරිශීලකයින්ට දත්ත ආපසු ලබා දීමට පෙර තවමත් හිමිකාරත්ව පෙරහන් යොදන්න.

FixVibe ඒ සඳහා පරීක්ෂා කරන ආකාරය

FixVibe දැනටමත් කියවීමට පමණක් Supabase RLS පරීක්ෂාවක් baas.supabase-rls හරහා ධාවනය කරයි. ස්කෑනරය Supabase ව්‍යාපෘති URL සහ පොදු ඇනොන් යතුර එකම සම්භවයක් ඇති ජාවාස්ක්‍රිප්ට් මිටි වලින් සොයා ගනී, පොදු වගු පාර-දත්ත සඳහා PostgREST අසයි, සහ පරිශීලක සැසියකින් තොරව දත්ත නිරාවරණය වී ඇත්ද යන්න තහවුරු කිරීමට සීමිත කියවීමට පමණක් තේරීම් උත්සාහ කරයි. එය සේවා භූමිකාව අක්තපත්‍ර ඇතුළු කිරීම, යාවත්කාලීන කිරීම, මකා දැමීම හෝ භාවිතා නොකරයි. Repo ස්කෑන් වලට ENABLE ROW LEVEL SECURITY නොමැතිව පොදු වගු සාදන SQL සංක්‍රමණයන් සලකුණු කරන repo.supabase.missing-rls හරහා මෙය කලින් අල්ලා ගත හැක.