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