最近工作閑,沒事自學(xué)django,感覺這個最煩的就是各版本提供的api函數(shù)經(jīng)常有變化,不是取消了就是參數(shù)沒有了,網(wǎng)上搜到的帖子也沒說明用的是什么版本的django,所以經(jīng)常出現(xiàn)搬運(yùn)過來的代碼解決不了問題的情況,不過基本上遇到的坑不多,最坑的就是在提交post表單時弄了兩天的CSRF驗證失敗問題,特此記錄一下,我用的是django 1.10.3:
10年積累的成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè)經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有左權(quán)免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。如果你不想使用這個功能,直接找到settings.py中的'django.middleware.csrf.CsrfViewMiddleware',這一行,直接給丫注釋掉,就不用啟動CSRF檢查了,一了白了,當(dāng)然了如果你是練手的時候這么干還行,正式一點的項目還是啟用最好,省的被人搞跨站攻擊,到時候加班倒霉挨罵的還是你。
關(guān)于跨站攻擊簡單說一下我的理解,就是比如說你登錄了一個交友網(wǎng)站后,才可以修改提交自己的基本資料,此時登錄后cooikes就被記錄到本機(jī)了,你的基友嫉妒你,他做了一個假頁面A發(fā)給你,引誘你點擊或填寫提交后,直接把數(shù)據(jù)提交給了真正的交友網(wǎng)站,由于你之前已經(jīng)登錄并且cooikes被記錄下來了,所以這次提交雖然是從假頁面A提交過去的,但是交友網(wǎng)站校驗是通過的,所以就可以任意修改提交數(shù)據(jù),比如說把你的年齡惡意修改成60的一個老頭兒,導(dǎo)致你長期吃狗糧。。。
繼續(xù)說正事,那么如果想開啟怎么辦呢,首先把剛才注釋的'django.middleware.csrf.CsrfViewMiddleware'還是放開吧,然后繼續(xù)如下步驟:
1、首先弄個表單提交頁面search_form_post.html(該頁面模擬搜索并顯示在數(shù)據(jù)庫里保存的汽車列表),注意在from表單內(nèi)增加{% csrf_token %}標(biāo)簽,代碼如下:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>搜索汽車</title> </head> <body> <form action="" method="post"> {% csrf_token %} <input type="text" name="q"><input type="checkbox" name="chk_contains">是否模糊搜索 <input type="submit" value="Search"> </form> {{ message }} <p> {% for car in car_list %} <li> {{ car.brand }} </li> {% endfor %} </body> </html>
本文題目:關(guān)于django1.10CSRF驗證失敗的解決方法-創(chuàng)新互聯(lián)
本文路徑:http://www.rwnh.cn/article40/dgsoho.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、云服務(wù)器、微信小程序、品牌網(wǎng)站制作、網(wǎng)站制作、網(wǎng)站維護(hù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容