django的csrf實現過程詳解

2022-09-26 11:24:30 字數 1507 閱讀 5537

如果是ajax提交,可以按照下面的方式處理

可以設定乙個全域性的設定,然後在$(function)中執行函式

$(function () )

如果是form表單提交,則可以按照下面的方式處理

然後返回使用render的方式返回

中介軟體裡csrf預設是全域性都生效的,但是如果我們有需求,比如全域性生效,但是我某個函式不需要使用csrf該怎麼辦;或者我的全域性不設定csrf,但是對某個檢視函式需要採用csrf,該怎麼辦

這裡就需要匯入2個模組

from django.views.decorators.csrf import csrf_exempt

from django.views.decorators.csrf import csrf_prgtiijvdxfiotect

然後在檢視函式中使用使用裝飾器來裝飾檢視函式

下面的例子就是起到全域性啟動csrf,但是我這個函式不啟動csrf

@csrf_exempt

下面的例子就是全域性不啟用csrf,但是我這個函式不啟動csrf

@csrf_protect程式設計客棧

本文標題: django的csrf實現過程詳解

本文位址: /jiaoben/python/266931.html

django中csrf的實現機制

1 啟用中介軟體 2 post請求 3 驗證碼 4 表單中新增標籤 django 原生支援乙個簡單易用的跨站請求偽造的防護。當提交乙個啟用csrf 防護的post 表單時,你必須使用上面例子中的csrf token 模板標籤。第一步 django第一次響應來自某個客戶端的請求時,後端隨機產生乙個to...

Django專案 csrf攻擊

1 django中預設開啟csrf中介軟體。settings.py檔案中 middleware classes django.contrib.sessions.middleware.sessionmiddleware django.middleware.common.commonmiddleware...

Django學習手冊 csrf

csrf csrf原理 無csrf時存在隱患 form提交 ajax提交 預設為全域性都csrf form表單提交方式 div form action login method post p 使用者名稱 input type text name user p p 密碼 input type pass...