🔒 آموزش رمزنگاری فایلهای .env در لاراول
🚨 چرا باید فایلهای .enb را رمزنگاری کنیم؟
فایلهای محیطی (مانند `.env`) اطلاعات حساسی نظیر کلیدهای API، رمزهای پایگاه داده و سایر اطلاعات مهم را در خود ذخیره میکنند. ذخیره این فایلها بهصورت غیر رمزنگاریشده در مخازن گیت یا روی سرور production خطرناک است. اما لاراول به شما امکان میدهد این فایلها را رمزنگاری کنید تا با اطمینان بیشتری در مخزن سورس کنترل یا روی سرور production قرار گیرند.
---
🔐 رمزنگاری فایلهای محیطی
برای رمزنگاری فایل .env، دستور زیر را اجرا کنید:
🔑 پس از اجرای دستور، فایل
کلید رمزنگاری نیز در خروجی این دستور نمایش داده میشود؛ این کلید را در یک جای امن ذخیره کنید. برای رمزگشایی .env به آن نیاز خواهید داشت
✅ اگر بخواهید کلید رمزنگاری خود را مشخص کنید، میتوانید از گزینه
💡 توجه داشته باشید که طول کلید ارائهشده باید با الگوریتم رمزنگاری مورد استفاده هماهنگ باشد.
کلید رمزنگاری (Encryption Key) بخش مهمی از فرآیند رمزنگاری است. هر الگوریتم رمزنگاری نیاز به طول کلید مشخصی دارد که در صورت عدم تطابق، رمزنگاری یا رمزگشایی کار نخواهد کرد و با خطا روبرو میشوید.
مثال در لاراول:
AES-256-CBC:
- نیاز به کلید 32 کاراکتری دارد.
- مثال:
AES-128-CBC:
- نیاز به کلید 16 کاراکتری دارد.
- مثال:
### چرا طول کلید مهم است؟
- امنیت بیشتر: طول بیشتر کلید باعث افزایش امنیت میشود.
- پشتیبانی الگوریتم: هر الگوریتم فقط طول خاصی را میپذیرد.
⚠️ اگر طول کلید مناسب نباشد، خطای زیر ظاهر میشود:
لاراول بهصورت پیشفرض از الگوریتم AES-256-CBC استفاده میکند که نیازمند کلیدی به طول 32 کاراکتر است.
برای استفاده از الگوریتمهای دیگر، گزینه
🌐 اگر چندین فایل محیطی دارید (مانند
---
🔓 رمزگشایی فایلهای محیطی
برای رمزگشایی فایلهای محیطی، از دستور زیر استفاده کنید:
🔑 لاراول کلید رمزنگاری را از متغیر محیطی
همچنین میتوانید کلید را مستقیماً با گزینه
✅ با اجرای این دستور، محتوای فایل
برای استفاده از الگوریتمهای دیگر در رمزگشایی، میتوانید گزینه
🌐 اگر چندین فایل .env دارید، میتوانید فایل موردنظر را با گزینه
❗ اگر فایل
---
✨ با استفاده از این قابلیت، امنیت پروژه لاراول خود را به سطح بالاتری ببرید و اطلاعات حساس را با اطمینان مدیریت کنید.
🛡️ رمزنگاری امن، پروژهای امنتر!
🚨 چرا باید فایلهای .enb را رمزنگاری کنیم؟
فایلهای محیطی (مانند `.env`) اطلاعات حساسی نظیر کلیدهای API، رمزهای پایگاه داده و سایر اطلاعات مهم را در خود ذخیره میکنند. ذخیره این فایلها بهصورت غیر رمزنگاریشده در مخازن گیت یا روی سرور production خطرناک است. اما لاراول به شما امکان میدهد این فایلها را رمزنگاری کنید تا با اطمینان بیشتری در مخزن سورس کنترل یا روی سرور production قرار گیرند.
---
🔐 رمزنگاری فایلهای محیطی
برای رمزنگاری فایل .env، دستور زیر را اجرا کنید:
php artisan env:encrypt
🔑 پس از اجرای دستور، فایل
.env شما رمزنگاری شده و بهصورت یک فایل جدید به نام .env.encrypted ذخیره میشود.کلید رمزنگاری نیز در خروجی این دستور نمایش داده میشود؛ این کلید را در یک جای امن ذخیره کنید. برای رمزگشایی .env به آن نیاز خواهید داشت
✅ اگر بخواهید کلید رمزنگاری خود را مشخص کنید، میتوانید از گزینه
--key استفاده کنید:
php artisan env:encrypt --key=3UVsEgGVK36XN82KKeyLFMhvosbZN1aF
💡 توجه داشته باشید که طول کلید ارائهشده باید با الگوریتم رمزنگاری مورد استفاده هماهنگ باشد.
کلید رمزنگاری (Encryption Key) بخش مهمی از فرآیند رمزنگاری است. هر الگوریتم رمزنگاری نیاز به طول کلید مشخصی دارد که در صورت عدم تطابق، رمزنگاری یا رمزگشایی کار نخواهد کرد و با خطا روبرو میشوید.
مثال در لاراول:
AES-256-CBC:
- نیاز به کلید 32 کاراکتری دارد.
- مثال:
php artisan env:encrypt --key=ABCDEFGHIJKLMNOPQRSTUVWX123456
AES-128-CBC:
- نیاز به کلید 16 کاراکتری دارد.
- مثال:
php artisan env:encrypt --key=ABCDEFGH12345678 --cipher=AES-128-CBC
### چرا طول کلید مهم است؟
- امنیت بیشتر: طول بیشتر کلید باعث افزایش امنیت میشود.
- پشتیبانی الگوریتم: هر الگوریتم فقط طول خاصی را میپذیرد.
⚠️ اگر طول کلید مناسب نباشد، خطای زیر ظاهر میشود:
The key length does not match the requirements of the cipher.
لاراول بهصورت پیشفرض از الگوریتم AES-256-CBC استفاده میکند که نیازمند کلیدی به طول 32 کاراکتر است.
برای استفاده از الگوریتمهای دیگر، گزینه
--cipher را اضافه کنید:
php artisan env:encrypt --cipher=AES-128-CBC
🌐 اگر چندین فایل محیطی دارید (مانند
.env و .env.staging`)، میتوانید فایل موردنظر را با استفاده از گزینه `--env مشخص کنید:
php artisan env:encrypt --env=staging
---
🔓 رمزگشایی فایلهای محیطی
برای رمزگشایی فایلهای محیطی، از دستور زیر استفاده کنید:
php artisan env:decrypt
🔑 لاراول کلید رمزنگاری را از متغیر محیطی
LARAVEL_ENV_ENCRYPTION_KEY دریافت میکند.همچنین میتوانید کلید را مستقیماً با گزینه
--key ارائه دهید:
php artisan env:decrypt --key=3UVsEgGVK36XN82KKeyLFMhvosbZN1aF
✅ با اجرای این دستور، محتوای فایل
.env.encrypted رمزگشایی شده و در فایل .env ذخیره میشود.برای استفاده از الگوریتمهای دیگر در رمزگشایی، میتوانید گزینه
--cipher را اضافه کنید:
php artisan env:decrypt --key=qUWuNRdfuImXcKxZ --cipher=AES-128-CBC
🌐 اگر چندین فایل .env دارید، میتوانید فایل موردنظر را با گزینه
--env مشخص کنید:
php artisan env:decrypt --env=staging
❗ اگر فایل
.env موجود باشد و بخواهید آن را بازنویسی کنید، از گزینه --force استفاده کنید:
php artisan env:decrypt --force
---
✨ با استفاده از این قابلیت، امنیت پروژه لاراول خود را به سطح بالاتری ببرید و اطلاعات حساس را با اطمینان مدیریت کنید.
🛡️ رمزنگاری امن، پروژهای امنتر!
❤4👍1