EitanGuard

RLS כבוי ב-Supabase באפליקציית Replit

Replit Agent בונה ומארח אפליקציות תחת replit.app, לרוב עם שרת Node/Express או Python.

מה הבעיה

Row Level Security הוא מנגנון ההרשאות של Supabase. כשהוא כבוי על טבלה, כל מי שמחזיק את המפתח הציבורי (anon) - כלומר כל מבקר באתר - יכול לקרוא אותה ישירות.

למה זה מסוכן

המפתח הציבורי מוטמע בקוד שהדפדפן מוריד. בלי RLS זה שקול למסד נתונים פתוח לאינטרנט: רשימות משתמשים, הזמנות ופרטים אישיים נקראים בשאילתה אחת.

איפה זה מתוקן ב-Replit

סודות מנהלים בלשונית Secrets של Replit - לא בקבצים בפרויקט, שיכולים להיות ציבוריים ב-Repl משותף.

שלבי התיקון

ההנחיה להדביק ב-Replit

העתק את ההנחיה הבאה לכלי שבנה את האפליקציה (באנגלית - כך הכלים עובדים הכי טוב):


Enable Row Level Security on every Supabase table and add owner-scoped policies (auth.uid() = user_id). List every table that currently has RLS disabled and fix each one.

איך מוודאים שהתיקון עבד

הרץ סריקה חוזרת - הבדיקה מנסה לקרוא את הטבלאות עם המפתח הציבורי בלבד ומדווחת מה עדיין פתוח.

עוד בנושא

בדיקה חינם

רוצה לדעת אם האפליקציה שלך חשופה? סרוק בחינם ב-30 שניות וקבל ציון אבטחה + הוראות תיקון.

סרוק את האפליקציה שלך בחינם