برای مدیریت دادههای حساس در پروژههای نرمافزاری، استفاده از فایل .env
یکی از بهترین و امنترین روشهاست. این فایل به شما امکان میدهد مقادیر متغیرهای محیطی مانند کلیدهای API، رمز عبور پایگاه داده و سایر اطلاعات حساس را بهصورت جداگانه و خارج از کد منبع ذخیره کنید.
استفاده از فایل .env
برای مدیریت دادههای حساس
دلایل استفاده از .env
- جلوگیری از قرار گرفتن دادههای حساس داخل کد برنامه
- امکان تغییر سریع تنظیمات بدون نیاز به ویرایش کد
- تفکیک بهتر پیکربندی از منطق برنامه
- سهولت در اجرای برنامه در محیطهای مختلف مانند توسعه، تست و تولید
ایجاد فایل .env
یک فایل متنی ساده با نام .env
در پوشه اصلی پروژه ایجاد کنید و متغیرهای مورد نظر را به صورت کلید=مقدار در آن بنویسید:
DB_USER=username
DB_PASSWORD=your_password
API_KEY=abcdef123456
DEBUG=True
بارگذاری متغیرهای .env
در برنامه
برای استفاده از این متغیرها در برنامه، میتوانید به صورت مستقیم با استفاده از ماژول os
در پایتون به آنها دسترسی داشته باشید:
import os
db_user = os.environ.get("DB_USER")
db_password = os.environ.get("DB_PASSWORD")
api_key = os.environ.get("API_KEY")
debug_mode = os.environ.get("DEBUG") == "True"
print(f"User: {db_user}, Debug: {debug_mode}")
اما برای بارگذاری خودکار متغیرهای .env
در محیط اجرای برنامه، استفاده از کتابخانههایی مانند python-dotenv
رایج و کارآمد است. این کتابخانه فایل .env
را خوانده و متغیرها را به محیط اجرا اضافه میکند:
from dotenv import load_dotenv
import os
load_dotenv() # بارگذاری متغیرهای .env
db_user = os.getenv("DB_USER")
db_password = os.getenv("DB_PASSWORD")
ماژولهای دیگر برای مدیریت بهتر متغیرهای محیطی
- python-decouple: مدیریت سادهتر پیکربندی و تفکیک بهتر فایلهای تنظیمات با امکانات بیشتر نسبت به
python-dotenv
- environs: یک ابزار با امکانات بیشتر برای خواندن و اعتبارسنجی متغیرهای محیطی به صورت ساده و قابل توسعه
- configparser: بیشتر برای خواندن فایلهای پیکربندی
.ini
استفاده میشود ولی در برخی پروژهها جایگزین میتواند باشد