חוקי Firebase פתוחים באפליקציית Replit
Replit Agent בונה ומארח אפליקציות תחת replit.app, לרוב עם שרת Node/Express או Python.
מה הבעיה
Firestore או Realtime Database עם חוקים שמאפשרים קריאה/כתיבה לכולם (allow read, write: if true) - ברירת מחדל נפוצה של "נסדר אחר כך".
למה זה מסוכן
תצורת ה-Firebase של האפליקציה גלויה בקוד ה-client, אז כל אחד יכול להתחבר ישירות למסד ולקרוא או לדרוס הכל.
איפה זה מתוקן ב-Replit
סודות מנהלים בלשונית Secrets של Replit - לא בקבצים בפרויקט, שיכולים להיות ציבוריים ב-Repl משותף.
שלבי התיקון
- החלף כל
if trueבבדיקת אימות ובעלות:allow read, write: if request.auth.uid == resource.data.uid - פרסם את החוקים המעודכנים ובדוק אותם ב-Rules Playground
ההנחיה להדביק ב-Replit
העתק את ההנחיה הבאה לכלי שבנה את האפליקציה (באנגלית - כך הכלים עובדים הכי טוב):
Rewrite the Firebase security rules to require authentication and ownership on every read and write - no if true rules anywhere.
איך מוודאים שהתיקון עבד
סריקה חוזרת מנסה גישה אנונימית למסד ומדווחת מה עדיין פתוח.
עוד בנושא
בדיקה חינם
רוצה לדעת אם האפליקציה שלך חשופה? סרוק בחינם ב-30 שניות וקבל ציון אבטחה + הוראות תיקון.