如何使用偽造的管理員登入介面為 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 次瀏覽

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告