在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生成随机密码
Mar 10 Python
Python中的面向对象编程详解(上)
Apr 13 Python
python计算牛顿迭代多项式实例分析
May 07 Python
python回调函数用法实例分析
May 09 Python
Python搜索引擎实现原理和方法
Nov 27 Python
Windows下Anaconda的安装和简单使用方法
Jan 04 Python
pygame游戏之旅 添加icon和bgm音效的方法
Nov 21 Python
python批量下载抖音视频
Jun 17 Python
python读写文件write和flush的实现方式
Feb 21 Python
jenkins+python自动化测试持续集成教程
May 12 Python
Python利用Faiss库实现ANN近邻搜索的方法详解
Aug 03 Python
python批量修改交换机密码的示例
Sep 22 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 setcookie指定domain参数后,在IE下设置cookie失效的解决方法
2011/09/09 PHP
PHP SplObjectStorage使用实例
2015/05/12 PHP
Laravel6.2中用于用户登录的新密码确认流程详解
2019/10/16 PHP
破解Session cookie的方法
2006/07/28 Javascript
flash javascript之间的通讯方法小结
2008/12/20 Javascript
实现JavaScript中继承的三种方式
2009/10/16 Javascript
原生js实现淘宝首页点击按钮缓慢回到顶部效果
2014/04/06 Javascript
jQuery如何取id有.的值一般的方法是取不到的
2014/04/18 Javascript
php+js实现倒计时功能
2014/06/02 Javascript
jquery+php实现搜索框自动提示
2014/11/28 Javascript
JS实现图片高亮展示效果实例
2015/11/24 Javascript
解决angular的post请求后SpringMVC后台接收不到参数值问题的方法
2015/12/10 Javascript
JavaScript中误用/g导致的正则test()无法正确重复执行的解决方案
2016/07/27 Javascript
JavaScript学习小结之被嫌弃的eval函数和with语句实例详解
2016/08/01 Javascript
解析NodeJs的调试方法
2016/12/11 NodeJs
Javascript中的神器——Promise
2017/02/08 Javascript
JS回调函数简单用法示例
2017/02/09 Javascript
vue实现点击图片放大效果
2017/08/15 Javascript
详解node.js 下载图片的 2 种方式
2018/03/02 Javascript
Vue中的无限加载vue-infinite-loading的方法
2018/04/08 Javascript
JS实现简单的点赞与踩功能示例
2018/12/05 Javascript
JavaScript中callee和caller的区别与用法实例分析
2019/06/28 Javascript
Python判断telnet通不通的实例
2019/01/26 Python
python音频处理的示例详解
2020/12/23 Python
HTML5 Canvas旋转动画的2个代码例子(一个旋转的太极图效果)
2014/04/10 HTML / CSS
法国珠宝店:CLEOR
2017/01/29 全球购物
面向中国市场的在线海淘美妆零售网站:Beauty House美丽屋
2021/03/02 全球购物
俄罗斯首家面向中国消费者的一站式购物网站:Wruru
2020/05/08 全球购物
家居设计专业个人自荐信范文
2013/11/26 职场文书
农村党员一句话承诺
2014/05/30 职场文书
安全生产工作汇报材料
2014/10/28 职场文书
观看禁毒宣传片后的感想
2015/08/11 职场文书
2016年优秀教师先进事迹材料
2016/02/26 职场文书
导游词之重庆渣滓洞
2020/01/08 职场文书
手把手教你从零开始react+antd搭建项目
2021/06/03 Javascript
Python3.8官网文档之类的基础语法阅读
2021/09/04 Python