چگونه می توان مجوزهای 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 شما ضروری است. با دنبال کردن تنظیمات توصیه شده و بهترین شیوه های ذکر شده در این مقاله ، می توانید اطمینان حاصل کنید که برنامه شما هم کاربردی و هم ایمن است. برای حفظ سازگاری در محیط ها ، این مراحل را در فرآیند استقرار خود خودکار کنید.
کدگذاری ایمن و خوشحال باشید!