django中的csrfmiddleware防範的原理?

時間 2021-05-29 23:47:19

1樓:facert

1. 是的,csrf_token 就是個全域性變數,是 django 自動生成的

2. csrf_token 不需要 django 儲存3. 兩種 token 沒什麼區別,每次重新整理生成乙個新的 token ,然後會把 token 返回給前端,在模板裡面以 顯示,同時也會有 set-cookie 操作,把 token 寫進瀏覽器 cookie。

驗證請求的時候,只需要拿 cookie 裡面的 csrf_token 和 body 裡面的 token 值進行比較,如果一樣,則認為請求有效。

4. 首先瀏覽器有跨域的限制,所以偽造站點並不能拿到本站點的 cookie,但是偽造站點可以通過構造 form 表單,表單 submit 的位址是本站點的請求,這個時候 cookie 也是本站點的。為了防止這種行為的發生,所以提交的時候得帶乙個隨機值,也就是 csrf_token。

這個值偽造站點是沒法直接拿到的。

Django中,reverse()函式怎麼推導出url

耳朵會火 urlpatterns url r blog include blog.urls namespace blog urlpatterns url r views.index blog,name home url r edit action views.edit action,name edi...

django獲取不到post提交的資料?

BigBadWolf 如果是用chrome瀏覽器,開啟更多工具 開發者工具,看request是不是傳送成功了,如果500 internal error,說明你的Django code寫錯了,如果403 forbidden說明csrf token沒設定好 Coldwings 我想說 如果是django...

《Django的語法糖》譯自《Tango with Django》(第一章)

小技術 1 鐵路線路的起撥改是鐵道工務系統最常見的養護工作。我們知道,軌道的方向和水平對機車及車輛的安全執行意義重大,所以高鐵 客專常常使用混凝土整體道床和75鋼軌。2 看方向 水平的技巧和 公子恒恒說的差不多,不過看水平的要把臉貼在軌面上,這樣視線和櫃面基本處於同乙個水平線上,可以更好的看到小坑 ...