Django 中的中介軟體是什麼
中介軟體元件只不過是一個遵循特定 API 的 Python 類。在 Django 中,中介軟體是一個小的外掛,在處理請求和響應時在後臺執行。應用程式的中介軟體用於完成一項任務。例如,安全、會話、CSRF 保護和身份驗證等功能。Django 自帶各種內建中介軟體,並允許我們開發自己的中介軟體。Django 專案的 settings.py 檔案配備了各種中介軟體,用於為應用程式提供功能。例如,安全中介軟體用於確保應用程式的安全。Django 中還有許多此類中介軟體,每個中介軟體都有不同的功能。
Django 帶有一些內建中介軟體,可以幫助處理可能出現的一些問題。在 Django 專案中的 settings.py 檔案中編寫中介軟體。預設情況下,專案建立時內建的中介軟體如下所示。
#located in the settings.py MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ]
Django 專案包含許多內建中介軟體。下面提到了一些最常用的中介軟體。
身份驗證支援中介軟體
此中介軟體支援身份驗證。每個傳入的HttpRequest物件都獲得 request.user 屬性,該屬性表示當前登入的使用者。這在 settings.py 中宣告,是一個非常重要的中介軟體,因為它會檢查登入使用者的真實性。它有助於檢測虛假帳戶。
中介軟體類 − django.contrib.auth.middleware.AuthenticationMiddleware。
會話支援中介軟體
此中介軟體啟用會話支援。此會話架構允許您基於每個站點訪問者儲存和檢索任意資料。它透過在伺服器端儲存資料來抽象傳送和接收 Cookie 的過程。Cookie 只儲存雜湊會話 ID,而不是資料本身,這可以保護您免受大多數 Cookie 問題的困擾。
中介軟體類 − django.contrib.sessions.middleware.SessionMiddleware。
常用中介軟體
此中介軟體增加了一些額外的好處,使開發人員的工作更輕鬆。它禁止訪問 ``DISALLOWED_USER_AGENTS`` 設定中的使用者代理:如果您想使用此設定,則應將其設定為已編譯的正則表示式物件的列表。這些物件將與每個傳入請求的使用者代理標頭進行匹配。
import re DISALLOWED_USER_AGENTS = ( re.compile(r'^reddit_bot'), re.compile(r'^Bingbot')
中介軟體類 − django.middleware.common.CommonMiddleware。
其他一些內建中介軟體,例如安全中介軟體,在保護您的網站免受可能執行 SQL 注入、跨站點指令碼或任何其他可能危及您的網站和資料的惡意方法的駭客攻擊方面發揮著重要作用。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP