django csrf

本文详细介绍了Django框架中防止CSRF攻击的方法,包括启用CsrfViewMiddleware中间件、在表单和AJAX请求中使用csrf_token,以及在Vue.js应用中如何获取和使用csrf_token。同时,讨论了Django对CSRF的处理机制和在Vue中实现跨域请求的安全策略。
摘要由CSDN通过智能技术生成

csrf攻击的原理和解决方法网上一搜一大把
https://www.cnblogs.com/hyddd/archive/2009/04/09/1432744.html
这里主要说一下django的解决办法。
1、django给了一个中间件解决csrf攻击’django.middleware.csrf.CsrfViewMiddleware’,
开启了这个中间件,那么所有的post、put、head都需要带上csrf_token这个字符串
2、在使用这个中间件时需要前端在提交的时候带上csrf_token。
具体方式就是
1)、在表单提交时带上{% csrf_token %}
{% csrf_token %}是一个input框。具体内容就是

<input type="hidden" name="csrfmiddlewaretoken" 
value="5lJZEmgr5CkrcXBfcvAf2zWvnW2n6uC52UKurWwbrEZSio256LzgF0UqvkX74cb4">

其中的value就是具体的csrf_token内容。在提交给django后台时会验证这个csrf_token。
2)、在使用ajax提交的时候,因为没有办法使用这个input框所以需要自己携带这个csrf_token。
具体携带方式有两种,一中是在post时通过传参的方式携带

$.ajax({
   
    url:"{% url 'csrf:csrff' %}",
    type:"post",
    data:{
    code:'asdsa', 'csrfmiddlewaretoken': csrf_token},
    da
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值