django csrf 防护

本文介绍了如何使用Django的CsrfViewMiddleware防止跨站伪请求,并详细讲解了模板中的csrf_token用法,视图函数的csrf保护方法,以及在AJAX表单提交时的注意事项。同时涵盖了去除和加入csrf防护的装饰器技巧。

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

作用:

防止跨站伪请求

配置文件:

MIDDLEWARE = [
 
    'django.middleware.csrf.CsrfViewMiddleware',
 
]

模板:

{% csrf_token %}

视图类视图函数默认都加入csrf验证

 

from django.views.decorators.csrf  import csrf_exempt,csrf_protect

fbv:

去掉csrf防护

@csrf_exempt

加入csrf防护

@csrf_protect

cbv

去掉csrf防护

@ method_decorator(csrf_exempt, name=dispatch)  # dispatch是源码中反射处理的函数
class Login(View):

    def post(self, request, *args, **kwargs):
        return HttpResponse('POST')  
 

ajax提交表单的时候注意加入csrfmiddlewaretoke:token 

Django的CSRF_TOKEN携带方式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值