csrf 攻击
简介
CSRF - 跨站伪造请求攻击
某些恶意网站上包含链接、表单按钮或者JavaScript,它们会利用登录过的用户在浏览器中的认证信息试图在你的网站.上完成某些操作这就是跨站请求伪造(CSRF,即Cross-Site Request Forgey)。
比如你后台如果登陆了支付宝或者网银,然后 CSRF 攻击会利用浏览器内的 COOKIES 直接在你不知情的情况下转账
Django 防范 csrf 攻击
Django 使用在提交表单的信息里添加暗号来实现过滤除了本站之外的请求,以此来防范 csrf 攻击
- 确保settings.py 的 MIDDLEWARE 中开启了
django.middleware.csrf.CsrfViewMiddleware
- 在模板的
form
标签下添加暗号标签{% csrf_token %}
如何局部关闭我们的 csrf 防范
有一些情况我们希望我们可以临时关闭我们的 csrf 检测,我们 Django 同样可以做到
from django.views.decorators.csrf import csrf_exempt
@csrf_exempt
def my_view(request):
return HttpResponse("hello world")