نکته امنیتی: فقط از env() در فایل های Config استفاده کنید
1 دقیقه
شاید وسوسه انگیز باشد که در خارج از فایل های کانفیگ از env() استفاده کنید اما ممکن است که این روش باگ ریزی پیدا شوند و برنامه را در معرض خطر قرار دهید.
در لاراول 11 تعداد فایل های پیکربندی پیش فرض را کاهش می دهد و گزینه های بیشتری را مستقیما به فایل .env منتقل می کند.
اگر نیاز به استفاده از مقادیر موجود در فایل خود دارید، باید مطمئن شوید که فقط از تابع env() در فایل های config/*.php خود استفاده می کنید!
php artisan config:cache
این می تواند همه چیز را به طور کامل خراب کند، باگ های ریزی ایجاد کند یا حتی برنامه شما را در معرض خطر قرار دهد… این کد را در نظر بگیرید:
if ($request->token === env('APP_API_TOKEN')) {
// do sensitive stuff
}
اگر کانفیگ کش شود و کاربر یک رشته خالی را ارسال کند، لاراول آن را به null ، تبدیل می کند که منجر به null === null، می شود و توکن به طور کامل دور زده می شود!
این مقایسه باید با استفاده از روش hash_equals () به جای برابرهای دقیق (===) انجام شود. نه تنها hash_equals () در برابر حملات زمانبندی محافظت میکند، بلکه به ورودیهای string نیز نیاز دارد که بهرهبرداری از آن را سختتر میکند.
پیوند منابع- خطای could not found driver در لاراول 94
- نکته امنیتی: فقط از env() در فایل های Config استفاده کنید 174
- استفاده از Boolean Query در لاراول 372
- دستورات جدید در لاراول ۱۱ 852
- ایجاد قوانین اعتبار سنجی سفارشی (Validation Rules) برای لاراول 906
- کار با وابستگی Image Intervention برای آپلود عکس در لاراول 950
- رفع مشکل اتصال به دیتابیس در لاراول ۱۱ 1167
- بدست آوردن .env در هنگام نصب پروژه لاراولی از گیت هاب 1289
- افزودنی های ویرایشگر VSCode برای توسعه لاراول 1768
- راه ساده نمایش اعلان ها در لاراول 990