做网站需要学什么语言,wordpress照片管理系统,网页制作设计框架,做机械设备哪个网站好Django默认开启防止csrf(跨站点请求伪造)攻击#xff0c;在post请求时#xff0c;没有上传 csrf字段#xff0c;导致校验失败#xff0c;报403错误解决方法1#xff1a;注释掉此段代码#xff0c;即可。缺点#xff1a;导致Django项目完全无法防止csrf攻击解决方法2在post请求时没有上传 csrf字段导致校验失败报403错误解决方法1注释掉此段代码即可。缺点导致Django项目完全无法防止csrf攻击解决方法2在 views.py文件中#导入,可以使此次请求忽略csrf校验from django.views.decorators.csrf importcsrf_exempt#在处理函数加此装饰器即可csrf_exemptdefpost(request):namerequest.post[name]return HttpResponse(welcome!{}.format(name))缺点导致此次请求无法防止csrf攻击但是比第一种好很多解决方法3针对使用模版进行开发的MTV模式,在模版文件提交form表单代码中添加但是本人不使用MTV模式进行开发只使用 Restful模式所以对于Restfu模式开发的使用第四种解决方法。解决方法4django的csrf安全工作顺序是先从后台获取csrf_token 并发送给前端然后前端在进行form表单提交时把带有名为csrfmiddlewaretoken值为 csrf_token 的字段一起发送给后端进行校验。所以此解决方案便是按照此逻辑先通过一个接口获取 csrf_token然后在form表单中一起提交给后端校验from django.template.context_processors importcsrfdefget_csrf(request):#生成 csrf 数据发送给前端x csrf(request)csrf_token x[csrf_token]return HttpResponse({} ; {}.format(str(re), csrf_token))然后在另一个POST请求中 加参数 名为csrfmiddlewaretoken 值为 get_csrf函数返回的csrf_token ,这样校验便成功优点完成了 csrf 安全校验