django中csrf的實現機制

2021-09-12 07:00:14 字數 369 閱讀 7802

1)啟用中介軟體

2)post請求

3)驗證碼

4)表單中新增標籤

django 原生支援乙個簡單易用的跨站請求偽造的防護。當提交乙個啟用csrf 防護的post 表單時,你必須使用上面例子中的csrf_token 模板標籤。

#第一步:django第一次響應來自某個客戶端的請求時,後端隨機產生乙個token值,把這個token儲存在session狀態中;同時,後端把這個token放到cookie中交給前端頁面;

#第二步:下次前端需要發起請求(比如發帖)的時候把這個token值加入到請求資料或者頭資訊中,一起傳給後端;cookies:

#第三步:後端校驗前端請求帶過來的token和session裡的token是否一致;

django的csrf實現過程詳解

如果是ajax提交,可以按照下面的方式處理 可以設定乙個全域性的設定,然後在 function 中執行函式 function 如果是form表單提交,則可以按照下面的方式處理 然後返回使用render的方式返回 中介軟體裡csrf預設是全域性都生效的,但是如果我們有需求,比如全域性生效,但是我某個函...

django中CSRF的問題及解決

什麼是csrf,看介紹 csrf是cross site request forgery的縮寫,稱其為 跨站請求偽造 常與xss想提並論,但它與xss非常不同,並且攻擊方式幾乎相左。xss利用站點內的信任使用者,而csrf則通過偽裝來自受信任使用者的請求來利用受信任的 與xss攻擊相比,csrf攻擊往...

django中的csrf與後台模組處理

在表單中使用post方法提交表單資料,需要使用csrf標籤,這是django提供的防止偽裝提交請求的功能。get方法提交資料不用使用csrf 用法 模板中 模組中 def query request if request.post.has key productname products produ...