tgoop.com/djangolearn_ir/866
Last Update:
💎 کلید مخفی (SECRET KEY) در جنگو به زبان ساده 💎
تو دنیای جنگو، یه کلید مخفی داریم که مثل یه قفل عمل میکنه. این کلید برای امضاهای امنیتی استفاده میشه و باید کاملا محرمانه باشه و هیچوقت نباید کسی جز خودتون اونو بدونه.
وقتی یه پروژه جدید با django-admin startproject میسازید، جنگو بصورت خودکار یه کلید مخفی تولید میکنه و تو تنظیمات پروژه قرارش میده.
این کلید یه رشتهی بیمعنیه و نباید باهاش مثل یه متن یا دادهی دیگه رفتار کنید. هر وقت میخواین ازش استفاده کنید، باید با دستور force_str() یا force_bytes() اونو به فرمت مورد نظرتون تبدیل کنید.
⭕️ اگه این کلید رو تنظیم نکنید، جنگو اصلا بالا نمیاد!
⚠️ مهم: این کلید رو به هیچ وجه در اختیار کسی قرار ندید!
اگه کلید مخفی لو بره، امنیت کل برنامهتون به خطر میفته و ممکنه هکرها بتونن به بخشهای خاصی از برنامه دسترسی پیدا کنن یا حتی بتونن کدهای مخرب اجرا کنن.
❓این کلید برای چی استفاده میشه؟
1⃣ تمام جلسات (Session) به غیر از اونایی که از کش (Cache) استفاده میکنن.
2⃣ تمام پیامها (Message) که از روشهای ذخیرهسازی مثل CookieStorage یا FallbackStorage استفاده میکنن.
3⃣ توکنهای بازیابی رمز عبور (Password Reset)
4⃣ هر جایی که امضای امنیتی نیاز باشه (مگر اینکه کلید دیگهای تنظیم شده باشه)
اگه کلید مخفی رو عوض کنید، تمام موارد بالا دیگه کار نمیکنن. برای همین، موقع عوض کردن کلید، کلید قبلی رو به طور موقت تو تنظیمات SECRET_KEY_FALLBACKS قرار بدید تا مشکلی پیش نیاد.
⭕️ این نکته رو هم یادتون باشه که کلید مخفی برای رمز عبور کاربرها استفاده نمیشه و عوض کردن اون تاثیری روی رمزها نداره.
فایل پیشفرض settings.py که با django-admin startproject ساخته میشه، به طور خودکار یه کلید مخفی منحصر به فرد برای راحتی کارتون ایجاد میکنه.
امیدوارم براتون مفید واقع بوده باشه 🌹
#جنگو
BY جنگولرن
Share with your friend now:
tgoop.com/djangolearn_ir/866