csrf 攻击

简介

CSRF - 跨站伪造请求攻击

某些恶意网站上包含链接、表单按钮或者JavaScript,它们会利用登录过的用户在浏览器中的认证信息试图在你的网站.上完成某些操作这就是跨站请求伪造(CSRF,即Cross-Site Request Forgey)。

比如你后台如果登陆了支付宝或者网银,然后 CSRF 攻击会利用浏览器内的 COOKIES 直接在你不知情的情况下转账

Django 防范 csrf 攻击

Django 使用在提交表单的信息里添加暗号来实现过滤除了本站之外的请求,以此来防范 csrf 攻击

  1. 确保settings.py 的 MIDDLEWARE 中开启了django.middleware.csrf.CsrfViewMiddleware

image-20220628171913548

  1. 在模板的 form标签下添加暗号标签
    • {% csrf_token %}

image-20220628172006597

如何局部关闭我们的 csrf 防范

有一些情况我们希望我们可以临时关闭我们的 csrf 检测,我们 Django 同样可以做到

from django.views.decorators.csrf import csrf_exempt

@csrf_exempt
def my_view(request):
    return HttpResponse("hello world")
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐