django连接web实现登录功能(解决django前后端分离csrf验证的问题)
类别:脚本大全 浏览量:183
时间:2022-03-31 12:06:11 django连接web实现登录功能
解决django前后端分离csrf验证的问题第一种方式ensure_csrf_cookie
这种方方式使用ensure_csrf_cookie 装饰器实现,且前端页面由浏览器发送视图请求,在视图中使用render渲染模板,响应给前端,此时这个渲染模板的视图函数上要加上这个装饰器
这种方式保证了模板返回时,前端接收到的响应中有csrftoken这个cookie,方法见代码。
以上方法并没有严格意义的前后分离,如果模板中有form表单,可以直接在模板中添加{% csrf_token %}。
第二种方式
前后完全分离,前端页面直接通过获取静态文件得到,然后直接发送ajax请求,得到csrftoken,此时需要一个视图函数来返回token值
|
def get_token(request): token = django.middleware.csrf.get_token(request) return JsonResponse({ 'token' : token}) |
如此即可在浏览器将token值保存在cookie中,然后通过第一种方式中取得cookie的方法获取cookie。
发送ajax请求
以上方式得到csrftoken后,需要将其添加到请求头中,方法见代码
|
function csrfSafeMethod(method) { // these HTTP methods do not require CSRF protection return (/^(GET|HEAD|OPTIONS|TRACE)$/.test(method)); } // 给ajax请求设置请求头x-csrftoken $.ajaxSetup({ beforeSend: function (xhr, settings) { if (!csrfSafeMethod(settings.type) && ! this .crossDomain) { xhr.setRequestHeader( "X-CSRFToken" , csrftoken); } } }); |
此时,csrf验证不再成为阻碍
以上这篇解决django前后端分离csrf验证的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持开心学习网。
原文链接:https://blog.csdn.net/HYESC/article/details/80611283
您可能感兴趣
- django参数判断(Django保护敏感信息的方法示例)
- django测试服务器静态资源放哪里(Django使用redis缓存服务器的实现代码示例)
- django admin 开发实例(Django给admin添加Action的步骤详解)
- django 如何实现高并发(Django如何防止定时任务并发浅析)
- pythondjango工作机制(Python后台开发Django会话控制的实现)
- django环境变量菜鸟教程(Django 多环境配置详解)
- djangorestfulframework教程(Django restframework 源码分析之认证详解)
- django 页面传参数(django query模块)
- django框架运行流程(Django+Xadmin构建项目的方法步骤)
- django settings配置(Django重置migrations文件的方法步骤)
- django学生管理系统搭建(Django实现学生管理系统)
- django框架教程第100讲(详解Django+Vue+Docker搭建接口测试平台实战)
- python使用django搭建简单网页(Python后台开发Django的教程详解启动)
- django中的limit用法(如何在Django中添加没有微秒的 DateTimeField 属性详解)
- pythondjango搭建web(PythonWeb项目Django部署在Ubuntu18.04腾讯云主机上)
- pycharm怎么创建django项目(Python、 Pycharm、Django安装详细教程图文)
- 浙江省一个县,人口超40万,建县历史超1100年(浙江省一个县人口超40万)
- 五代十国南唐历代国君(五代十国南唐历代国君)
- 飞机引进工程师杨隆 匠人匠心,只争朝夕(飞机引进工程师杨隆)
- 三人行,她们是育人路上的 铁三角 团队(她们是育人路上的)
- 阴阳师 孟婆山兔CP不倒 新皮肤草稿 孟婆兔 让痒痒鼠点赞(阴阳师孟婆山兔CP不倒)
- 阴阳师孟婆御魂推荐 孟婆御魂搭配毕业套(阴阳师孟婆御魂推荐)
热门推荐
- php 模拟登录验证码demo(PHP 模拟登陆功能实例详解)
- python的os模块操作(Python OS模块实例详解)
- UML类图概念讲解(一)
- python导出数据到mysql(python定时按日期备份MySQL数据并压缩)
- django修改端口(django2.0扩展用户字段示例)
- python实现在同一电脑上tcp通信(Python两台电脑实现TCP通信的方法示例)
- docker镜像内安装python包(如何使用Docker搭建pypi私有仓库)
- ui界面的测试用例(AmazeUI 模态窗口的实现代码)
- 云服务器ecs使用教程(在阿里云ECS服务器上搭建WordPress的全过程解析)
- python json转换字符串(python3 json数据格式的转换dumps/loads的使用、dict to str/str to dict、json字符串/字典)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9