如何使用伪造的管理员登录界面为 Django 管理界面添加额外的安全性?


我们将使用一个第三方包创建一个 Django 管理界面的伪造登录页面。这只会创建一个伪造的 Django 管理页面,无论任何人尝试使用正确或错误的密码登录管理员页面,都无法登录,并且他们的尝试记录(包括 IP 地址)将存储在一个表中。

因此,只需按照以下步骤操作,您就可以顺利完成。

设置基本的 **urls** 并将 **app** 添加到 **settings.py** 中的 **INSTALLED_APPS** 中。

示例

首先安装包

pip install django-admin-honeypot

在 **settings.py** 中,添加以下内容:

INSTALLED_APPS+ = ['admin_honeypot']

我们只需将其添加到已安装的应用中,这对于设置是必要的。

在项目的 **urls.py** 中:

from django.contrib import admin
from django.urls import path,include

urlpatterns = [
   path(r'admin/', include('admin_honeypot.urls', namespace='
admin_honeypot')),
   path(r'secret/', admin.site.urls),
]

在这里,我们只需将真正的管理员替换为伪造的管理员,并将我们的管理员放在另一个端点上。

运行以下命令:

python manage.py makemigrations
python manage.py migrate

现在您已完成所有操作,它将创建一个表,该表将存储所有管理员登录尝试及其会话 ID,真正的管理员将位于 ** /secrets** 端点上。

输出

http://127.0.0.1/admin/ 上,您将看到以下输出屏幕

这是一个伪造的蜜罐管理员页面,无论您尝试正确或错误,它仍然是伪造的,并将所有尝试保存到表中。如果您访问 http://127.0.0.1/secret/ 并使用您的管理员用户名和密码登录:

在表中,您将获得所有记录。

更新时间: 2021年8月25日

320 次浏览

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.