من أشهر أخطاء الـ misconfiguration في تطبيقات Laravel إن الـ debug mode يفضل مفعل على الـ production
لان ممكن يحصل خطأ غير متوقع ووقتها لارافيل بيعرض full stack trace للمستخدم
وبالتالي ممكن يتعرض بيانات حساسة زي:
- Database Credentials
- File Paths
- Environment/Configuration Details
- تفاصيل عن التطبيق وال internal structure
الحل بسيط وهو على ال production نتأكد إن القيم دي موجودة بالشكل الصحيح في .env:
APP_ENV=production
APP_DEBUG=falseوفي نقطة مهمة ناخد بالنا منها وهي config cache
في ال production عادتا بنستخدم: php artisan config:cache
وده بيخلي Laravel يعتمد على الـ cached configuration
لذلك، لو عدلنا قيمة في .env بعد تنفيذ cache:config فالتعديل ممكن مينعكسش علي التطبيق
علشان كدة بعد أي تعديل علي .env لازم نعيد بناء ال configuration cache:
php artisan config:clear
php artisan config:cacheالملخص:
- نتأكد ان الـ debug mode مش شغال في الـ production
- أي تغيير في .env نعمل بعده refresh لـ config cache