הגדרת CORS פרוצה באפליקציית Replit
Replit Agent בונה ומארח אפליקציות תחת replit.app, לרוב עם שרת Node/Express או Python.
מה הבעיה
API שמחזיר Access-Control-Allow-Origin: * (או משקף כל Origin) יחד עם credentials - כך שכל אתר זר יכול לקרוא לו בשם המשתמש.
למה זה מסוכן
אתר זדוני שהמשתמש שלך גולש בו יכול לשלוח בקשות ל-API שלך עם ה-cookies שלו ולקרוא את התשובות - גניבת נתונים בלי לפרוץ כלום.
איפה זה מתוקן ב-Replit
סודות מנהלים בלשונית Secrets של Replit - לא בקבצים בפרויקט, שיכולים להיות ציבוריים ב-Repl משותף.
שלבי התיקון
- הגדר רשימת Origins מפורשת במקום
* - אל תשלב
Allow-Credentials: trueעם Origin משוקף
ההנחיה להדביק ב-Replit
העתק את ההנחיה הבאה לכלי שבנה את האפליקציה (באנגלית - כך הכלים עובדים הכי טוב):
Replace wildcard CORS with an explicit origin allowlist and never combine Access-Control-Allow-Credentials with a reflected origin.
איך מוודאים שהתיקון עבד
סריקה חוזרת שולחת בקשה עם Origin זר ובודקת מה השרת מאשר.
עוד בנושא
בדיקה חינם
רוצה לדעת אם האפליקציה שלך חשופה? סרוק בחינם ב-30 שניות וקבל ציון אבטחה + הוראות תיקון.