django 笔记13 CSRF

匿名 (未验证) 提交于 2019-12-03 00:34:01
CSRF a.  CSRF原理  b.  无CSRF时存在隐患 c.  Form提交(CSRF) d.  Ajax提交(CSRF)     CSRF请求头 x-CSRFToken      HTTP_X_CSRFToken django自动加的HTTP  中间件 django.middleware.csrf.CsrfViewMiddleware  局部:     @csrf_protect 需要csrf认证  不需要在setting里添加django.middleware.csrf.CsrfViewMiddleware     @csrf_exempt  不需要csrf认证  全局设置 局部设置  django.middleware.csrf.CsrfViewMiddleware 在views.py里 from django.views.decorators.csrf import csrf_exempt, csrf_protect  @csrf_exempt def index(request):     pass   在form表单下面添加 {% csrf_token %}  如果是以ajax提交方式         $(function(){             $.ajaxSetup({             #GET HEAD OPTIONS TRACE 四种是不需要加csrftoken的 在这前需要做个判断                 beforeSend: function(xhr,settings){                     xhr.setRequestHeader(X-CSRFtoken, $.cookie(csrftoken));                 }             });              $(#btn).click(function () {                 $.ajax({                     url: /login/,                     type:"GET",                     data: {user: root, pwd: 123},                     // headers: {‘X-CSRFtoken‘: $.cookie(‘csrftoken‘)},                     success:function(arg){                      }                 })             });         })

原文:https://www.cnblogs.com/Liang-jc/p/9220551.html

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!