在django中使用post方法時(shí),需要增加csrftoken的例子
從百度查到在django中,使用post方法時(shí),需要先生成隨機(jī)碼,以防止CSRF(Cross-site request forgery)跨站請(qǐng)求偽造,并稍加修改:
注:這是一個(gè)js文件,需要引入到html模板中:<script src="/static/javascript/post_need_csrftoken.js"></script>
這樣做比使用{% csrf_token %}方便
$(function () {
$.ajaxSetup({
headers: { "X-CSRFToken": getCookie("csrftoken") }
});
});
// 為防止CSRF(Cross-site request forgery)跨站請(qǐng)求偽造,發(fā)post請(qǐng)求時(shí)需要在cookie中創(chuàng)建隨機(jī)碼
function getCookie(name)
{
var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
/*
上面這句話相當(dāng)于:
var arr;
var reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
*/
if(arr=document.cookie.match(reg))
return decodeURI(arr[2]); //ECMAScript v3 已從標(biāo)準(zhǔn)中刪除了 unescape() 函數(shù),并反對(duì)使用它,
// 因此應(yīng)該用 decodeURI() 和 decodeURIComponent() 取而代之。
else
return null;
}
補(bǔ)充知識(shí):Django解決前端/客戶(hù)端POST失敗提示csrf_tokenxxx的問(wèn)題
解決:把settings.py里把MIDDLEWARE中的
django.middleware.csrf.CsrfViewMiddleware
刪除掉就好了
如果你不想刪除,并且你是web端的話,在form表單里加一句 {%csrf_token%} 就好了
<form>
{%csrf_token%}
<!-- 其它代碼 -->
</form>
這個(gè)CRSF主要也是起一種保護(hù)驗(yàn)證的作用,看個(gè)人需要來(lái)保留吧
如果是安卓或者其它端,建議之間采取前者把那行代碼刪掉就行了
以上這篇在django中使用post方法時(shí),需要增加csrftoken的例子就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
老生常談python函數(shù)參數(shù)的區(qū)別(必看篇)
下面小編就為大家?guī)?lái)一篇老生常談python函數(shù)參數(shù)的區(qū)別(必看篇)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-05-05
基于Python利用Pygame實(shí)現(xiàn)翻轉(zhuǎn)圖像
這篇文章主要介紹了基于Python利用Pygame實(shí)現(xiàn)翻轉(zhuǎn)圖像,我們將了解如何使用Pygame翻轉(zhuǎn)圖像,要翻轉(zhuǎn)圖像,我們需要使用pygame.transform.flip(Surface,?xbool,?ybool)?方法,該方法被調(diào)用來(lái)根據(jù)我們的需要在垂直方向或水平方向翻轉(zhuǎn)圖像,下面來(lái)看看具體的實(shí)現(xiàn)過(guò)程吧2022-02-02
Python接口自動(dòng)化淺析unittest單元測(cè)試原理
這篇文章主要介紹了Python接口自動(dòng)化淺析unittest單元測(cè)試原理,文中描述了單元測(cè)試,unittest模塊特性、大致流程、源碼及實(shí)戰(zhàn)例子這幾個(gè)模塊,有需要的朋友可以借鑒參考下2021-08-08
Python實(shí)現(xiàn)Mysql數(shù)據(jù)庫(kù)連接池實(shí)例詳解
這篇文章主要介紹了Python實(shí)現(xiàn)Mysql數(shù)據(jù)庫(kù)連接池實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-04-04
python學(xué)習(xí)之使用Matplotlib畫(huà)實(shí)時(shí)的動(dòng)態(tài)折線圖的示例代碼
這篇文章主要介紹了python學(xué)習(xí)之使用Matplotlib畫(huà)實(shí)時(shí)的動(dòng)態(tài)折線圖的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02
解決Python調(diào)用df.to_csv()出現(xiàn)中文亂碼的問(wèn)題
在Python使用df.to_csv()時(shí),若出現(xiàn)中文亂碼,可通過(guò)加入?yún)?shù)encoding="utf_8_sig"解決,"utf-8"編碼不包含BOM,直接處理文件時(shí)會(huì)將BOM誤讀為內(nèi)容;而"utf_8_sig"會(huì)識(shí)別并處理BOM,避免亂碼,此方法為實(shí)踐經(jīng)驗(yàn),供參考2024-09-09
python起點(diǎn)網(wǎng)月票榜字體反爬案例
大家好,本篇文章主要講的是python起點(diǎn)網(wǎng)月票榜字體反爬案例,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12
Python實(shí)現(xiàn)隨機(jī)生成手機(jī)號(hào)及正則驗(yàn)證手機(jī)號(hào)的方法
這篇文章主要介紹了Python實(shí)現(xiàn)隨機(jī)生成手機(jī)號(hào)及正則驗(yàn)證手機(jī)號(hào)的方法,涉及Python基于random模塊的隨機(jī)數(shù)以及基于re模塊的正則驗(yàn)證相關(guān)操作技巧,需要的朋友可以參考下2018-04-04
python 實(shí)現(xiàn)PIL模塊在圖片畫(huà)線寫(xiě)字
這篇文章主要介紹了python 實(shí)現(xiàn)PIL模塊在圖片畫(huà)線寫(xiě)字,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-05-05

