django框架CSRF防護(hù)原理與用法分析
本文實(shí)例講述了django框架CSRF防護(hù)。分享給大家供大家參考,具體如下:
CSRF防護(hù)
一、什么是CSRF?
CSRF: Cross-site request forgery,跨站請求偽造
用戶登錄了正常的網(wǎng)站A, 然后再訪問某惡意網(wǎng)站,該惡意網(wǎng)站上有一個指向網(wǎng)站A的鏈接,那么當(dāng)用戶點(diǎn)擊該鏈接時,則惡意網(wǎng)站能成功向網(wǎng)站A發(fā)起一次請求,實(shí)際這個請求并不是用戶想發(fā)的,而是偽造的,而網(wǎng)站A并不知道。
攻擊者利用了你的身份,以你的名義發(fā)送惡意請求,比如:以你名義發(fā)送郵件,發(fā)消息,盜取你的賬號,甚至于購買商品,虛擬貨幣轉(zhuǎn)賬等。
如果想防止CSRF,首先是重要的信息傳遞都采用POST方式而不是GET方式,接下來就說POST請求的攻擊方式以及在Django中的避免
二、CSRF攻擊演示
步驟1:登錄成功后進(jìn)入發(fā)帖界面,進(jìn)行發(fā)帖(使用post請求發(fā)帖,測試時先關(guān)閉csrf中間件)
步驟2:限制登錄成功后才能發(fā)帖
- 可通過session保存登錄成功的用戶名
- 判斷session中是否有保存用戶名,有才允許發(fā)帖
步驟3:CSRF攻擊演示

三、CSRF防護(hù)
重要信息如金額、積分等的獲取,采用POST請求
開啟CSRF中間件(默認(rèn)就是開啟的)
# 項目下的setting.py MIDDLEWARE_CLASSES = ( ... # 開啟csrf中間件(默認(rèn)是開啟的) 'django.middleware.csrf.CsrfViewMiddleware', ... )
表單post提交數(shù)據(jù)時加上 {% csrf_token %} 標(biāo)簽
四、防御原理【了解】
- 服務(wù)器在渲染模板文件時,會在html頁面中生成一個名字叫做 csrfmiddlewaretoken 的隱藏域。
- 服務(wù)器會讓瀏覽器保存一個名字為 csrftoken 的cookie信息
- post提交數(shù)據(jù)時,兩個值都會發(fā)給服務(wù)器,服務(wù)器進(jìn)行比對,如果一樣,則csrf驗(yàn)證通過,否則提示403 Forbidden
希望本文所述對大家基于Django框架的Python程序設(shè)計有所幫助。
- Django中如何防范CSRF跨站點(diǎn)請求偽造攻擊的實(shí)現(xiàn)
- 詳解利用django中間件django.middleware.csrf.CsrfViewMiddleware防止csrf攻擊
- Django進(jìn)階之CSRF的解決
- 詳解Django的CSRF認(rèn)證實(shí)現(xiàn)
- Django csrf 驗(yàn)證問題的實(shí)現(xiàn)
- Django CSRF跨站請求偽造防護(hù)過程解析
- Django使用中間鍵實(shí)現(xiàn)csrf認(rèn)證詳解
- python Django里CSRF 對應(yīng)策略詳解
- Python Django框架防御CSRF攻擊的方法分析
相關(guān)文章
MacOS(M1芯片 arm架構(gòu))下安裝PyTorch的詳細(xì)過程
這篇文章主要介紹了MacOS(M1芯片 arm架構(gòu))下安裝PyTorch的詳細(xì)過程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-02-02
詳解Python如何批量采集京東商品數(shù)據(jù)流程
這不快過年了,又是要買年貨,又是要給女朋友買禮物的,分析一下價格,看看哪些是真的降價了2022-01-01
詳解Python最長公共子串和最長公共子序列的實(shí)現(xiàn)
這篇文章主要介紹了詳解Python最長公共子串和最長公共子序列的實(shí)現(xiàn)。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-07-07
《Python學(xué)習(xí)手冊》學(xué)習(xí)總結(jié)
本篇文章是讀者朋友在學(xué)習(xí)了《Python學(xué)習(xí)手冊》這本書以后,總結(jié)出的學(xué)習(xí)心得,值得大家參考學(xué)習(xí)。2018-01-01
利用python模擬實(shí)現(xiàn)POST請求提交圖片的方法
最近在利用python做接口測試,其中有個上傳圖片的接口,在網(wǎng)上各種搜索,各種嘗試。下面這篇文章主要給大家介紹了關(guān)于利用python模擬實(shí)現(xiàn)POST請求提交圖片的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。2017-07-07

