חוקי Firebase פתוחים באפליקציית Bolt
Bolt מייצר פרויקטים מלאים (לרוב React/Next עם Supabase) ופריסה נפוצה היא Netlify.
מה הבעיה
Firestore או Realtime Database עם חוקים שמאפשרים קריאה/כתיבה לכולם (allow read, write: if true) - ברירת מחדל נפוצה של "נסדר אחר כך".
למה זה מסוכן
תצורת ה-Firebase של האפליקציה גלויה בקוד ה-client, אז כל אחד יכול להתחבר ישירות למסד ולקרוא או לדרוס הכל.
איפה זה מתוקן ב-Bolt
משתני סביבה מגדירים ב-Netlify (Site settings > Environment variables) וקוראים אותם רק בצד השרת - קידומת VITE_/NEXT_PUBLIC_ הופכת ערך לציבורי.
שלבי התיקון
- החלף כל
if trueבבדיקת אימות ובעלות:allow read, write: if request.auth.uid == resource.data.uid - פרסם את החוקים המעודכנים ובדוק אותם ב-Rules Playground
ההנחיה להדביק ב-Bolt
העתק את ההנחיה הבאה לכלי שבנה את האפליקציה (באנגלית - כך הכלים עובדים הכי טוב):
Rewrite the Firebase security rules to require authentication and ownership on every read and write - no if true rules anywhere.
איך מוודאים שהתיקון עבד
סריקה חוזרת מנסה גישה אנונימית למסד ומדווחת מה עדיין פתוח.
עוד בנושא
בדיקה חינם
רוצה לדעת אם האפליקציה שלך חשופה? סרוק בחינם ב-30 שניות וקבל ציון אבטחה + הוראות תיקון.