فعال سازی تایید اعتبار دو مرحله ای (2FA) در پنل ادمین جنگو
- 1403/09/14
فعال سازی تایید اعتبار دو مرحله ای (2FA) در پنل ادمین جنگو
استفاده از تایید اعتبار دو مرحلهای (2FA) برای پنل مدیریت در جنگو به طور قابل توجهی امنیت سیستم شما را افزایش میدهد. این روش امنیتی، علاوه بر رمز عبور، به یک کد موقت یا تاییدیه اضافی نیاز دارد که معمولاً به گوشی همراه یا ایمیل شما ارسال میشود. این لایه اضافی از امنیت به جلوگیری از دسترسی غیرمجاز کمک کرده و محافظت در برابر حملات فیشینگ و سرقت اطلاعات را بهبود میبخشد. بهویژه در پنلهای مدیریت که دسترسی به دادههای حساس و تنظیمات حیاتی را فراهم میکند، 2FA یک دفاع موثر و ضروری است.
برای فعالسازی تأیید اعتبار دو مرحلهای (2FA) در پنل مدیریت جنگو، مراحل زیر را دنبال کنید:
ابتدا باید پکیجهای زیر را نصب کنید:
pip install qrcode
pip install django-otp
پس از نصب پکیجها، آنها را به لیست اپلیکیشنها در فایل settings.py
اضافه کنید:
python
INSTALLED_APPS = [
'django_otp',
'django_otp.plugins.otp_totp',
# سایر اپلیکیشنها
]
همچنین، middleware مربوط به django-otp
را اضافه کنید:
MIDDLEWARE = [
'django_otp.middleware.OTPMiddleware',
# سایر middleware ها
]
پس از اضافه کردن تنظیمات به پروژه، دستور زیر را در ترمینال اجرا کنید تا تغییرات به پایگاه داده اعمال شود:
bash
python manage.py migrate
پس از اعمال تنظیمات جدید، وارد پنل مدیریت خود (آدرس پیشفرض: /admin/
) شوید. اکنون یک بخش جدید با نام OTP TOTP در تنظیمات مدیریت اضافه شده است.
با استفاده از نرمافزار Google Authenticator یا برنامه مشابه، QR code را اسکن کنید تا کدهای ورود دو مرحلهای را دریافت کنید.
برای ایجاد یک پنل مدیریت اختصاصی با پشتیبانی از OTP، در فایل urls.py
کتابخانههای زیر را import کنید:
from django_otp.admin import OTPAdminSite
from django.apps import apps
from django_otp.plugins.otp_totp.models import TOTPDevice
سپس یک کلاس برای پنل مدیریت ایجاد کنید:
class OTPAdmin(OTPAdminSite):
site_header = "Site Header"
site_title = "Site Title"
index_title = "Welcome to AdminPanel"
اپلیکیشنها و مدلهای مورد نظر خود را برای نمایش در پنل ثبت کنید:
admin_site = OTPAdmin(name='OTPAdmin')
for model in apps.get_models():
if model._meta.app_label in ['نام اپلیکیشنهای مورد نظر']:
admin_site.register(model)
در نهایت، آدرس جدید پنل مدیریت را به شکل زیر تنظیم کنید:
path('custom-admin/', admin_site.urls)
همچنین میتوانید در صورت نیاز، پنل مدیریت قبلی را غیر فعال کنید.
لینک مستندات:
رایگان ثبت نام کنید و اولین نفری باشید که از پست های جدید مطلع می شوید.