在django中使用post方法时,需要增加csrftoken的例子
作者:梓沂 时间:2023-08-12 06:44:34
从百度查到在django中,使用post方法时,需要先生成随机码,以防止CSRF(Cross-site request forgery)跨站请求伪造,并稍加修改:
注:这是一个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)跨站请求伪造,发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%} 就好了
<form>
{%csrf_token%}
<!-- 其它代码 -->
</form>
这个CRSF主要也是起一种保护验证的作用,看个人需要来保留吧
如果是安卓或者其它端,建议之间采取前者把那行代码删掉就行了
来源:https://blog.csdn.net/qq_27361945/article/details/79536114
标签:django,post方法,csrftoken
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
pandas读取CSV文件时查看修改各列的数据类型格式
2023-09-26 16:44:58
如何从零开始利用js手写一个Promise库详解
2024-04-19 10:46:32
搭建一个开源项目两种方式安装git的详细教程
2022-10-24 13:04:55
![](https://img.aspxhome.com/file/2023/0/132430_0s.png)
jquery+ajax+C#实现无刷新操作数据库数据的简单实例
2024-01-15 03:26:34
Python函数式编程指南(四):生成器详解
2023-08-23 05:50:02
vue基于websocket实现智能聊天及吸附动画效果
2024-04-30 08:45:20
![](https://img.aspxhome.com/file/2023/1/132991_0s.gif)
innodb_flush_method取值方法(实例讲解)
2024-01-13 10:12:44
MySQL/MariaDB/Percona数据库升级脚本
2024-01-21 10:01:09
![](https://img.aspxhome.com/file/2023/4/124624_0s.png)
Python+Selenium定位不到元素常见原因及解决办法(报:NoSuchElementException)
2022-06-05 22:03:00
浅探express路由和中间件的实现
2024-05-11 10:17:08
Oracle中查询本月星期5的所有日期列表的语句
2012-07-11 16:13:21
python中for语句简单遍历数据的方法
2023-04-18 11:26:45
DW自带的行为制作弹出菜单
2008-05-16 11:38:00
![](https://img.aspxhome.com/file/UploadPic/20072/200723113749490s.jpg)
python Django框架快速入门教程(后台管理)
2022-04-17 11:43:12
![](https://img.aspxhome.com/file/2023/2/76102_0s.png)
MobaXterm入门使用教程
2023-11-23 12:26:53
![](https://img.aspxhome.com/file/2023/3/120543_0s.png)
Python列表删除的三种方法代码分享
2022-10-26 19:13:35
mysql unix准换时间格式查找指定日期数据代码
2024-01-16 00:35:24
Python经典案例之图像漫水填充分割详解
2021-08-25 11:41:14
![](https://img.aspxhome.com/file/2023/9/121059_0s.png)
python requests.get带header
2022-07-28 20:50:40
![](https://img.aspxhome.com/file/2023/1/97091_0s.jpg)
TP3.2批量上传文件或图片 同名冲突问题的解决方法
2024-05-03 15:29:55