django csrf 防跨站攻擊

2021-06-28 04:37:28 字數 862 閱讀 1682

csrf 攻擊原理:

# django使用(csrfmiddleware)進行csrf防護,原理如下:

1.它修改當前處理的請求,向所有的 post 表單增添乙個隱藏的表單字段,使用名稱是 csrfmiddlewaretoken,

值為當前會話 id 加上乙個金鑰的雜湊值。 如果未設定會話 id ,該中介軟體將不會修改響應結果,

因此對於未使用會話的請求來說效能損失是可以忽略的。

2.對於所有含會話 cookie 集合的傳入 post 請求,它將檢查是否存在 csrfmiddlewaretoken 及其是否正確。

如果不是的話,使用者將會收到乙個 403 http 錯誤。 403 錯誤頁面的內容是檢測到了跨域請求偽裝。 終止請求。

該步驟確保只有源自你的站點的表單才能將資料 post 回來。

另外要說明的是,未使用會話 cookie 的 post 請求無法受到保護,但它們也不 需要 受到保護,

因為惡意**可用任意方法來製造這種請求。為了避免轉換非 html 請求,中介軟體在編輯響應結果之

csrf設定步驟:

第一步: 在settings.py中的middleware_classes部分新增』django.middleware.csrf.csrfviewmiddleware』,如果使用普通方式建立的django專案,這一項一般都已經存在了不用額外設定。

第二步:在post表單的template中加入csrf_token。這一步很簡單,在模板中新增如下**:

第三步:在請求處理方法中新增context processor。

使用requestcontext,requestcontext始終都使用了』django.core.context_processors.csrf』。

驗證結果:

跨站指令碼攻擊

跨站指令碼攻擊是眾所周知的攻擊方式之一。所有平台上的web應用都深受其擾,php應用也不例外。所有有輸入的應用都面臨著風險。webmail,code 複製內容到剪貼簿 code 複製php內容到剪貼簿 php echo name writes echo comment 這個流程對 comment及 ...

跨站指令碼攻擊 XSS

跨站指令碼攻擊,cross site script,為了區別css,英文縮寫為xss xss攻擊,通常指hacker通過 html注入 篡改了網頁,插入惡意的指令碼,從而在使用者瀏覽網頁時,控制使用者瀏覽器的一種攻擊。xss根據效果的不同可以分為如下幾類 1.反射型xss 通過將使用者輸入的資料 反...

Xss跨站指令碼攻擊

1.內容 攻擊者在web網頁中插入惡意js 當使用者瀏覽該瀏覽器頁面的時候,嵌入web中的js 會被執行,從而受到惡意攻擊,這就是跨站指令碼攻擊。xss指令碼植入方式前台接收資料存入資料庫,在渲染頁面時從資料庫中讀取相應資訊 2 分類 1 反射性的xss 發出請求時,xss 出現在url中,作為輸入...