在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 相关文章推荐
pip 错误unused-command-line-argument-hard-error-in-future解决办法
Jun 01 Python
python抽取指定url页面的title方法
May 11 Python
Python 数据库操作 SQLAlchemy的示例代码
Feb 18 Python
Python (Win)readline和tab补全的安装方法
Aug 27 Python
python常见字符串处理函数与用法汇总
Oct 30 Python
tensorflow实现对张量数据的切片操作方式
Jan 19 Python
使用Python实现Wake On Lan远程开机功能
Jan 22 Python
python数字类型math库原理解析
Mar 02 Python
Python如何定义接口和抽象类
Jul 28 Python
anaconda安装pytorch1.7.1和torchvision0.8.2的方法(亲测可用)
Feb 01 Python
python time.strptime格式化实例详解
Feb 03 Python
Python提取PDF指定内容并生成新文件
Jun 09 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
第一节--面向对象编程
2006/11/16 PHP
php输出xml格式字符串(用的这个)
2012/07/12 PHP
php中实现xml与mysql数据相互转换的方法
2014/12/25 PHP
PHP长网址与短网址的实现方法
2017/10/13 PHP
php设计模式之享元模式分析【星际争霸游戏案例】
2020/03/23 PHP
表单切换,用回车键替换Tab健(不支持IE)
2011/07/20 Javascript
JavaScript前端图片加载管理器imagepool使用详解
2014/12/29 Javascript
JavaScript实现梯形乘法表的方法
2015/04/25 Javascript
JavaScript编程中的Promise使用大全
2015/07/28 Javascript
jQuery实现的简单折叠菜单(折叠面板)效果代码
2015/09/16 Javascript
JS实现左右拖动改变内容显示区域大小的方法
2015/10/13 Javascript
浅析jquery数组删除指定元素的方法:grep()
2016/05/19 Javascript
微信小程序 时间格式化(util.formatTime(new Date))详解
2016/11/16 Javascript
基于jQuery实现滚动刷新效果
2017/01/09 Javascript
Javarscript中模块(module)、加载(load)与捆绑(bundle)详解
2017/05/28 Javascript
jQury Ajax使用Token验证身份实例代码
2017/09/22 Javascript
详解node+express+ejs+bootstrap构建项目
2017/09/27 Javascript
nodejs爬虫初试superagent和cheerio
2018/03/05 NodeJs
JavaScript ES6箭头函数使用指南
2018/12/30 Javascript
超详细动手搭建一个VuePress 站点及开启PWA与自动部署的方法
2019/01/27 Javascript
基于vue、react实现倒计时效果
2019/08/26 Javascript
javascript实现商品图片放大镜
2019/11/28 Javascript
在antd Form表单中select设置初始值操作
2020/11/02 Javascript
python实现文件分组复制到不同目录的例子
2014/06/04 Python
使用python将图片格式转换为ico格式的示例
2018/10/22 Python
详解python深浅拷贝区别
2019/06/24 Python
Python 面向对象静态方法、类方法、属性方法知识点小结
2020/03/09 Python
Python3开发环境搭建详细教程
2020/06/18 Python
使用HTML5进行SVG矢量图形绘制的入门教程
2016/02/19 HTML / CSS
美国值得信赖的婚恋交友网站:eHarmony
2018/10/04 全球购物
欧姆龙医疗保健与医疗产品:Omron Healthcare
2020/02/10 全球购物
沃尔玛旗下墨西哥超市:Bodega Aurrera
2020/11/13 全球购物
家长学校实施方案
2014/03/15 职场文书
电工技术比武方案
2014/05/11 职场文书
IDEA 2022 Translation 未知错误 翻译文档失败
2022/04/24 Java/Android
MySQL 执行数据库更新update操作的时候数据库卡死了
2022/05/02 MySQL