Django csrf
2021/4/12 10:58:06
本文主要是介绍Django csrf,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
CSRF_TOKEN跨站请求伪造
CSRF或者XSRF:跨站请求伪造 攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的 防范:CSRF攻击防范 -Referer:上一次访问的地址(图片防盗链) https://www.lagou.com/gongsi/ -在请求地址中添加 token 并验证 -在 HTTP 头中自定义属性并验证 -把随机字符串放在请求体中
Django中处理csrf
//form表单 <form action="" method="post"> {% csrf_token %} <p>给谁转:<input type="text" name="to_user" id="id_name"></p> <p>转多少:<input type="text" name="money" id="id_money"></p> <input type="submit" value="转账"> </form> //ajax提交:两种方案 $.ajax({ url: '/transfer/', method: 'post', //方法一 data: { to_user: $('#id_name').val(), money:$('#id_money').val(), csrfmiddlewaretoken:$('[name="csrfmiddlewaretoken"]').val() }, //方法二 data: { to_user: $('#id_name').val(), money: $('#id_money').val(), csrfmiddlewaretoken:'{{csrf_token}}'}, success: function (data) {console.log(data)} })
cookie的处理
<script src="/static/jquery.cookie.js"></script> var token=$.cookie('csrftoken')
csrf放到请求头中
$.ajax({ url: '/', headers:{'X-CSRFToken':token}, type: 'post', data: { 'name': $('[name="name"]').val(), 'password': $("#pwd").val(), }, success: function (data) { console.log(data) } })
全局使用csrf,局部视图函数禁用csrf
1 在视图函数上加装饰器 from django.views.decorators.csrf import csrf_exempt,csrf_protect # 不再检测,局部禁用(前提是全站使用) @csrf_exempt def csrf_token(request): # 检测,局部使用(前提是全站禁用) @csrf_protect def csrf_token(request):
这篇关于Django csrf的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-24MongoDB资料:新手入门完全指南
- 2024-12-20go-zero 框架的 RPC 服务 启动start和停止 底层是怎么实现的?-icode9专业技术文章分享
- 2024-12-19Go-Zero 框架的 RPC 服务启动和停止的基本机制和过程是怎么实现的?-icode9专业技术文章分享
- 2024-12-18怎么在golang中使用gRPC测试mock数据?-icode9专业技术文章分享
- 2024-12-15掌握PageRank算法核心!你离Google优化高手只差一步!
- 2024-12-15GORM 中的标签 gorm:"index"是什么?-icode9专业技术文章分享
- 2024-12-11怎么在 Go 语言中获取 Open vSwitch (OVS) 的桥接信息(Bridge)?-icode9专业技术文章分享
- 2024-12-11怎么用Go 语言的库来与 Open vSwitch 进行交互?-icode9专业技术文章分享
- 2024-12-11怎么在 go-zero 项目中发送阿里云短信?-icode9专业技术文章分享
- 2024-12-11怎么使用阿里云 Go SDK (alibaba-cloud-sdk-go) 发送短信?-icode9专业技术文章分享