csrf跨站请求伪造问题解决

博客提及Python相关问题的解决方案,有三种方式,内容转载自https://www.cnblogs.com/xufengfan/p/11047080.html 。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

解决方案

模板渲染
{% csrf_token %}

结果
<input type="hidden" name="csrfmiddlewaretoken" value="2vzoo1lmSWgLTdI2rBQ4PTptJQKRQTRwnqeWRGcpdAQGagRp8yKg8RX2PdkF4aqh">
ps:value是动态生成的,每一次刷新都不一样
from django.views.decorators.csrf import csrf_exempt,csrf_protect
@csrf_exempt  # 不校验csrf
def index1(request):
    return HttpResponse('ok')

@csrf_protect  # 校验csrf
def index2(request):
    return HttpResponse('ok')

三种方式

csrf装饰CBV需要注意(******)
csrf_protect 跟正常的CBV装饰器一样      三种
csrf_exempt  只能有下面两种方式
        @method_decorator(csrf_exempt,name='dispatch')  # 第一种 
        class Index3(View):
            # @method_decorator(csrf_exempt)   # 第二种  
            def dispatch(self, request, *args, **kwargs):
                super().dispatch(request,*args,**kwargs)  
        其实都是给dispatch加

 

转载于:https://www.cnblogs.com/xufengfan/p/11047080.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值