用OTP保证Django管理员的登录安全(2因素认证)
在为我们的应用程序添加安全性时,多因素认证是最基本的原则之一。在本教程中,我们将使用OTP方法添加多因素认证。 这篇文章是Django中博客内容管理系统项目的延续。请看这里 – 用Django构建博客内容管理系统
为Django项目设置2因素认证
我们将为我们的博客CMS安装TOTP包,这将为我们的管理员登录添加OTP安全。首先安装django-otp包
并在我们安装的应用程序中加入’django_otp, django_otp.plugins.otp_totp’,并在设置文件的中间件部分加入django_otp.middleware.OTPMiddleware。
运行,
创建一个TOTP设备 –
现在登录django管理,创建一个TOTP设备。登录后你可以看到
login page
点击添加并填写细节,创建一个新的TOTP qrcode。
添加TOTP设备
现在再次进入TOTP设备部分,打开二维码,用你的TOTP应用程序如Authy、Google Authenticator应用程序扫描它。
扫描qrcode
设置管理员OTP类别 –
现在进入gfgblog中的django urls.py文件,而不是blog urls.py中,加入以下几行
输出 –
现在退出并登录到django管理,每次登录到django管理时都要输入OTP。
带OTP的Django管理员
一些需要遵循的基本安全原则
- 在生产中保持Debug = False
- 限制允许托管到我们的服务器IP、localhost和主机名。
- 保持秘密钥匙的牢固和安全
- 在生产中使用HTTPS的所有方式
- 如果被多个用户管理,则对用户的上传进行检查
- 保持你的数据库安全,不要在生产中使用SQLite
- 尝试在生产中使用安全和内容标题,下面给出了一些标题,在Settings.py中添加这些标题