# ተጽዕኖ የረድፍ ደረጃ ደህንነትን (RLS) አለመተግበሩ ያልተረጋገጡ አጥቂዎች ከSupabase ዳታቤዝ መረጃን እንዲጠይቁ ያስችላቸዋል የህዝብ ጠረጴዛዎች በአኖን ወሰን [S1]። የNext.js አፕሊኬሽኖች በተለምዶ የSupabase anon ቁልፍን በደንበኛ ወገን ኮድ ስለሚያጋልጡ አጥቂ ይህንን ቁልፍ ተጠቅሞ በቀጥታ REST API ጥሪዎችን ወደ ዳታቤዝ መረጃ በመሻገር [S2].
የስር መንስኤ
በነባሪ፣ በSupabase ውስጥ ያሉ የፖስትግሬስ ሰንጠረዦች የህዝብ መዳረሻ [S1]ን ለመከላከል የረድፍ ደረጃ ደህንነትን በግልፅ ማንቃት ያስፈልጋቸዋል። አንድ ገንቢ ጠረጴዛ ሲፈጥር ነገር ግን RLSን ማንቃት ሲረሳ ወይም ገዳቢ ፖሊሲዎችን መግለፅ ሲያቅተው ዳታቤዙ የፕሮጀክቱን anon ቁልፍ [S1] ላለው ለማንኛውም ሰው ሊያጋልጥ ይችላል። በ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 በኩል ይሰራል። ስካነሩ የSupabase ፕሮጄክት ዩአርኤል እና ይፋዊ አኖን ቁልፍ ከተመሳሳይ ምንጭ ጃቫስክሪፕት ጥቅሎች ያገኛል፣PostgREST የህዝብ ሠንጠረዥ ዲበዳታ ይጠይቃል እና የተገደበ ንባብ ብቻ የሚሞክር ሙከራ ያለተጠቃሚ ክፍለ ጊዜ የተጋለጠ መሆኑን ለማረጋገጥ ይመርጣል። የአገልግሎት ሚና ምስክርነቶችን አያስገባውም፣ አያዘምንም፣ አይሰርዝም ወይም አይጠቀምም። ሬፖ ስካን ይህን ቀደም ብሎ በrepo.supabase.missing-rls በኩል ሊይዘው ይችላል፣ይህም ያለENABLE ROW LEVEL SECURITY የህዝብ ጠረጴዛዎችን የሚፈጥሩ የSQL ፍልሰትን በሚያመላክት ነው።
