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


Posted in Python onMarch 13, 2020

从百度查到在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主要也是起一种保护验证的作用,看个人需要来保留吧

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

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

Python 相关文章推荐
实例说明Python中比较运算符的使用
May 13 Python
浅析Python 3 字符串中的 STR 和 Bytes 有什么区别
Oct 14 Python
python 实现将文件或文件夹用相对路径打包为 tar.gz 文件的方法
Jun 10 Python
python里运用私有属性和方法总结
Jul 08 Python
Python assert语句的简单使用示例
Jul 28 Python
Django框架 信号调度原理解析
Sep 04 Python
Django1.11自带分页器paginator的使用方法
Oct 31 Python
Python 一行代码能实现丧心病狂的功能
Jan 18 Python
wxPython修改文本框颜色过程解析
Feb 14 Python
Django rest framework分页接口实现原理解析
Aug 21 Python
解决selenium+Headless Chrome实现不弹出浏览器自动化登录的问题
Jan 09 Python
Tensorflow与RNN、双向LSTM等的踩坑记录及解决
May 31 Python
python 安装教程之Pycharm安装及配置字体主题,换行,自动更新
Mar 13 #Python
详解用Python进行时间序列预测的7种方法
Mar 13 #Python
django-xadmin根据当前登录用户动态设置表单字段默认值方式
Mar 13 #Python
在django项目中导出数据到excel文件并实现下载的功能
Mar 13 #Python
Django choices下拉列表绑定实例
Mar 13 #Python
django model object序列化实例
Mar 13 #Python
浅析python标准库中的glob
Mar 13 #Python
You might like
PHP常用的文件操作函数经典收藏
2013/04/02 PHP
php实现求相对时间函数
2015/06/15 PHP
将PHP程序中返回的JSON格式数据用gzip压缩输出的方法
2016/03/03 PHP
Python中使用django form表单验证的方法
2017/01/16 PHP
PHP 验证身份证是否合法的函数
2017/02/09 PHP
PHP检测数据类型的几种方法(总结)
2017/03/04 PHP
Laravel重定向,a链接跳转,控制器跳转示例
2019/10/22 PHP
jQuery实现form表单reset按钮重置清空表单功能
2012/12/18 Javascript
jQuery操作input值的各种方法总结
2013/11/21 Javascript
js制作简易年历完整实例
2015/01/28 Javascript
JS+CSS实现仿支付宝菜单选中效果代码
2015/09/25 Javascript
jQuery中Ajax全局事件引用方式及各个事件(全局/局部)执行顺序
2016/06/02 Javascript
利用BootStrap弹出二级对话框的简单实现方法
2016/09/21 Javascript
canvas时钟效果
2017/02/16 Javascript
重新理解JavaScript的六种继承方式
2017/03/24 Javascript
angularjs实现首页轮播图效果
2017/04/14 Javascript
JS按钮闪烁功能的实现代码
2017/07/21 Javascript
微信小程序使用video组件播放视频功能示例【附源码下载】
2017/12/08 Javascript
JavaScript实现图片轮播特效
2019/10/23 Javascript
Linux下Python获取IP地址的代码
2014/11/30 Python
python中引用与复制用法实例分析
2015/06/04 Python
Python基于ThreadingTCPServer创建多线程代理的方法示例
2018/01/11 Python
如何利用Boost.Python实现Python C/C++混合编程详解
2018/11/08 Python
Tensorflow读取并输出已保存模型的权重数值方式
2020/01/04 Python
Python 将json序列化后的字符串转换成字典(推荐)
2020/01/06 Python
python颜色随机生成器的实例代码
2020/01/10 Python
如何把python项目部署到linux服务器
2020/08/26 Python
纯css3制作的火影忍者写轮眼开眼至轮回眼及进化过程实例
2014/11/11 HTML / CSS
HTML5+CSS3实现拖放(Drag and Drop)示例
2014/07/07 HTML / CSS
楼面经理岗位职责范本
2014/02/18 职场文书
十佳护士获奖感言
2014/02/18 职场文书
2015年售票员工作总结
2015/04/29 职场文书
董事长新年致辞
2015/07/29 职场文书
思想品德课教学反思
2016/02/24 职场文书
OpenCV-Python实现轮廓的特征值
2021/06/09 Python
vue 给数组添加新对象并赋值
2022/04/20 Vue.js