python csrf token_在django中使用post方法时,需要增加csrftoken的例子

从百度查到在django中,使用post方法时,需要先生成随机码,以防止CSRF(Cross-site request forgery)跨站请求伪造,并稍加修改:

注:这是一个js文件,需要引入到html模板中:

这样做比使用{% csrf_token %}方便

$(function () {

$.ajaxSetup({

headers: { "X-CSRFToken": getCookie("csrftoken") }

});

});

// 为防止CSRF(Cross-site request forgery)跨站请求伪造,发post请求时需要在cookie中创建随机码

function getCookie(name)

{

var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");

/*

上面这句话相当于:

var arr;

var reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");

*/

if(arr=document.cookie.match(reg))

return decodeURI(arr[2]); //ECMAScript v3 已从标准中删除了 unescape() 函数,并反对使用它,

// 因此应该用 decodeURI() 和 decodeURIComponent() 取而代之。

else

return null;

}

补充知识:Django解决前端/客户端POST失败提示csrf_tokenxxx的问题

解决:把settings.py里把MIDDLEWARE中的

django.middleware.csrf.CsrfViewMiddleware

删除掉就好了

如果你不想删除,并且你是web端的话,在form表单里加一句 {%csrf_token%} 就好了

{%csrf_token%}

这个CRSF主要也是起一种保护验证的作用,看个人需要来保留吧

如果是安卓或者其它端,建议之间采取前者把那行代码删掉就行了

以上这篇在django中使用post方法时,需要增加csrftoken的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值