چگونه می توان مجوزهای Laravel 12 را به طور ایمن تنظیم کرد

مجوزهای مناسب پرونده و پوشه برای تأمین برنامه LARAVEL شما بسیار مهم است. مجوزهای نادرست می توانند داده های حساس را در معرض دید خود قرار دهند یا امکان دسترسی غیرمجاز به برنامه شما را فراهم کنند. در این مقاله ، ما چگونگی تنظیم ایمن مجوزهای پرونده و پوشه و مالکیت را برای یک برنامه Laravel 12 بررسی خواهیم کرد.
چرا مجوزها مهم هستند؟
لاراول برای دایرکتوری های خاص به مجوزهای خاص نیاز دارد (به عنوان مثال ، storage وت bootstrap/cache) برای عملکرد صحیح. این دایرکتوری ها باید توسط سرور وب برای ذخیره پرونده های ذخیره شده ، سیاهههای مربوط و سایر داده های زمان اجرا قابل ارسال باشند. با این حال ، تنظیمات بیش از حد مجاز می تواند آسیب پذیری های امنیتی ایجاد کند.
مجوزهای توصیه شده برای لاراول 12
-
پرونده های کاربردی: همه پرونده ها به جز
storageوتbootstrap/cacheباید فقط مجوزهای خواندنی برای سرور وب داشته باشد.
تنظیم توصیه شده:
chmod -R 644 /path/to/laravel
-
644: برای مالک ، فقط خواندنی برای دیگران بخوانید و بنویسید. - استفاده کردن
-Rبرای اعمال بازگشتی در همه پرونده ها.
-
دایرکتوری های قابل نوشتن:
storageوتbootstrap/cacheدایرکتوری ها باید توسط سرور وب قابل نوشتن باشند.
تنظیم توصیه شده:
chmod -R 775 /path/to/laravel/storage /path/to/laravel/bootstrap/cache
-
775: بخوانید ، بنویسید و برای مالک و گروه اجرا کنید ، برای دیگران بخوانید و اجرا کنید.
مالکیت
سرور وب (به عنوان مثال ، Apache یا Nginx) باید دایرکتوری های قابل نوشتن را در اختیار داشته باشد تا اطمینان حاصل شود که لاراول می تواند با اطمینان برای آنها بنویسد.
-
مالکیت سرور وب را تنظیم کنید: جایگزین کنید
www-dataبا کاربر سرور وب خود (به عنوان مثال ،apacheیاnginx).
chown -R www-data:www-data /path/to/laravel/storage /path/to/laravel/bootstrap/cache
- مالکیت پرونده های برنامه را تنظیم کنید: برای جلوگیری از اصلاحات غیرمجاز ، مالکیت کلیه پرونده های دیگر را به کاربر سیستم خود تنظیم کنید.
chown -R your-user:your-group /path/to/laravel
با استفاده از دستورات داخلی لاراول برای مجوزها
Laravel 12 دستورات بهبود یافته برای مدیریت مجوزهای پرونده و پوشه را معرفی می کند. شما می توانید از storage:link وت cache:clear دستورات برای اطمینان از تنظیم مناسب.
-
یک پیوند نمادین برای ذخیره سازی ایجاد کنید: Laravel نیاز به یک پیوند نمادین بین
storageفهرست وpublic/storageبرای خدمت به پرونده های بارگیری کاربر.
php artisan storage:link
این دستور تضمین می کند public/storage دایرکتوری به storage/app/publicبشر
- حافظه پنهان روشن و بازسازی: پس از تنظیم مجوزها ، حافظه پنهان را روشن و بازسازی کنید تا اطمینان حاصل شود که لاراول تغییرات را تشخیص می دهد.
php artisan cache:clear
php artisan config:cache
خودکار مجوزها با اسکریپت های استقرار
برای محیط های تولید ، مجوز و تنظیم مالکیت را با استفاده از اسکریپت های استقرار خودکار کنید. در اینجا یک مثال آورده شده است:
#!/bin/bash
# Define Laravel path
LARAVEL_PATH="/path/to/laravel"
# Set ownership
chown -R your-user:www-data $LARAVEL_PATH
chown -R www-data:www-data $LARAVEL_PATH/storage $LARAVEL_PATH/bootstrap/cache
# Set permissions
chmod -R 644 $LARAVEL_PATH
chmod -R 775 $LARAVEL_PATH/storage $LARAVEL_PATH/bootstrap/cache
# Clear and rebuild cache
cd $LARAVEL_PATH
php artisan cache:clear
php artisan config:cache
php artisan storage:link
بهترین روشهای امنیتی
-
اجتناب کردن
777مجوزها:هرگز مجوز را تنظیم نکنید
777، همانطور که دسترسی کامل به همه ، از جمله مهاجمان بالقوه را اعطا می کند. -
دسترسی به
.env:در
.envپرونده حاوی داده های پیکربندی حساس است. اطمینان حاصل کنید که فقط توسط صاحب برنامه قابل خواندن است:
chmod 600 /path/to/laravel/.env
-
از یک کاربر اختصاصی برای Laravel استفاده کنید:
یک کاربر سیستم اختصاصی برای اجرای Laravel برای جداسازی آن از سایر برنامه ها ایجاد کنید.
-
مجوزها را مرتباً نظارت کنید:
به طور دوره ای مجوزهای پرونده و پوشه را بررسی کنید تا اطمینان حاصل شود که آنها تغییر نکرده اند.
پایان
تنظیم مجوزهای مناسب پرونده و پوشه برای تأمین برنامه Laravel 12 شما ضروری است. با دنبال کردن تنظیمات توصیه شده و بهترین شیوه های ذکر شده در این مقاله ، می توانید اطمینان حاصل کنید که برنامه شما هم کاربردی و هم ایمن است. برای حفظ سازگاری در محیط ها ، این مراحل را در فرآیند استقرار خود خودکار کنید.
کدگذاری ایمن و خوشحال باشید!



