在django中使用post方法时,需要增加csrftoken的例子
从百度查到在django中,使用post方法时,需要先生成随机码,以防止CSRF(Cross-siterequestforgery)跨站请求伪造,并稍加修改:
注:这是一个js文件,需要引入到html模板中:
这样做比使用{%csrf_token%}方便
$(function(){ $.ajaxSetup({ headers:{"X-CSRFToken":getCookie("csrftoken")} }); }); //为防止CSRF(Cross-siterequestforgery)跨站请求伪造,发post请求时需要在cookie中创建随机码 functiongetCookie(name) { vararr,reg=newRegExp("(^|)"+name+"=([^;]*)(;|$)"); /* 上面这句话相当于: vararr; varreg=newRegExp("(^|)"+name+"=([^;]*)(;|$)"); */ if(arr=document.cookie.match(reg)) returndecodeURI(arr[2]);//ECMAScriptv3已从标准中删除了unescape()函数,并反对使用它, //因此应该用decodeURI()和decodeURIComponent()取而代之。 else returnnull; }
补充知识:Django解决前端/客户端POST失败提示csrf_tokenxxx的问题
解决:把settings.py里把MIDDLEWARE中的
django.middleware.csrf.CsrfViewMiddleware
删除掉就好了
如果你不想删除,并且你是web端的话,在form表单里加一句{%csrf_token%}就好了
这个CRSF主要也是起一种保护验证的作用,看个人需要来保留吧
如果是安卓或者其它端,建议之间采取前者把那行代码删掉就行了
以上这篇在django中使用post方法时,需要增加csrftoken的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。