django專案之csrf跨域問題

2021-10-25 11:24:09 字數 661 閱讀 5735

問題:

forbidden (csrf token missing or incorrect.)

原因:

django,會對合法的跨域訪問做這樣的檢驗,cookies裡面儲存的』csrftoken』,和post的header裡面的字段」x-csrftoken』作比較,只有兩者匹配,才能通過跨域檢驗。否則會返回這個錯誤:csrf failed: csrf token missing or incorrect

解決方法:

1.直接將settings中』django.middleware.csrf.csrfviewmiddleware』,注釋掉(開發時最好別用,會產生系統漏洞,測試時隨便玩玩)

2.直接在後端的api介面處,新增@csrf_exempt裝飾器,此裝飾器的作用是:將檢視功能標記為不受csrf檢視保護,也不是特別好

3.前端在傳送post請求的時候,同cookies中儲存的token進行匹配

我是清茶!歡迎你和我一起討論,我們下期見。

Django跨域請求CSRF

web跨域請求 1.為什麼要有跨域限制 舉個例子 1.使用者登入了自己的銀行頁面 向使用者的cookie中新增使用者標識。2.使用者瀏覽了惡意頁面 執行了頁面中的惡意ajax請求 3.向發起ajax http請求,請求會預設把對應cookie也同時傳送過去。4.銀行頁面從傳送的cookie中提取使用...

防止CSRF跨域攻擊

csrf主要是指有些人使用自動表單提交不停的請求你的 或者使用非法請求連線訪問站點,防止這些攻擊也比較容易就是在自己 做乙個token驗證基本就防止了非法請求,正常清楚我們生成的唯一token進行行為驗證,如果token通過則執行操作,否則就不通過,防止了無限請求刷自己 的情況。首先生成token存...

Django專案 csrf攻擊

1 django中預設開啟csrf中介軟體。settings.py檔案中 middleware classes django.contrib.sessions.middleware.sessionmiddleware django.middleware.common.commonmiddleware...