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-06-26解决google chrome helper 内存占用较高!
- 2024-04-01got an unexpected keyword argument
- 2024-03-30维多利亚的秘密 golang入坑系统
- 2024-03-29mongodb sort by date
- 2024-03-29go swagger
- 2024-03-25mongodb cdc
- 2024-03-25how to use go in vscode
- 2024-03-22mongooseserverselectionerror: connect econnrefused ::1:27017
- 2024-03-21pymongo insert_many
- 2024-03-18projection mongodb