前提:在之前的訪問瀏覽器,我們都是將setting裡的中介軟體中的csrf給注釋掉,不然會無法訪問網頁
csrf的作用
csrf跨站請求偽造校驗
**在給使用者返回乙個具有提交資料功能頁面的時候會給這個頁面加乙個唯一標識
當這個頁面朝後端傳送post請求的時候 我的後端會先校驗唯一標識,如果唯一標識不對直接拒絕
如何使用csrf
只要在form表單下加入模板語法就可以了
除了form,我們還有個ajax提交方式。
在ajax中有三種方式,書寫難度從大到小!
// 第一種 利用標籤查詢獲取頁面上的隨機字串
,#}// 第二種 利用模版語法提供的快捷書寫
}』},#}
// 第三種 通用方式直接拷貝js**並應用到自己的html頁面上即可
data:
以下為js**
function
getcookie
(name)}}
return cookievalue;
}var csrftoken =
getcookie
('csrftoken');
function
csrfsafemethod
(method)
$.ajaxsetup(}
});
csrf的一些好用的裝飾器
在fbv中
csrf_protect 需要校驗
可以注釋掉中介軟體中的csrf然後在要校驗的方法上加入此裝飾器
(適用於只用校驗少部分方法)
csrf_exempt 忽視校驗
可以單單讓此方法忽略校驗
(適用於校驗大部分方法)
在cbv中
csrf_protect三種方式可以全部使用,沒有任何不適反應
但是csrf_exempt只能給dispatch使用,其他方式會報錯
跨站請求偽造 CSRF
跨站請求偽造 csrf 顧名思義就是在其他非法 呼叫了正常 的介面,攻擊的方法是在頁面中包含惡意 或者鏈結,攻擊者認為被攻擊的使用者有權訪問另乙個 如果使用者在那個 的會話沒有過期,攻擊者就能執行未經授權的操作。大多數 rails 程式都使用 cookie 儲存會話,可能只把會話 id 儲存在 co...
CSRF跨站請求偽造
前面說到xss跨站指令碼攻擊,現在來個複雜度更高一點的csrf跨站請求偽造 首先說一下rsrf的幾個要點 1.rsrf是通過各種方法 站內發布鏈結,qq郵箱發布鏈結等 讓登入使用者觸發請求,在使用者不覺察的過程中對使用者資料進行篡改,進而實現攻擊 2.通過xss可以獲取到使用者的session id...
CSRF 跨站請求偽造
csrf cross site request forgery 中文是跨站請求偽造。csrf攻擊者在使用者已經登入目標 之後,誘使使用者訪問乙個攻擊頁面,利用目標 對使用者的信任,以使用者身份在攻擊頁面對目標 發起偽造使用者操作的請求,達到攻擊目的。舉個列子 假如a站為受信任的銀行 其中有個銀行轉賬...