首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >CSRF令牌验证

CSRF令牌验证
EN

Stack Overflow用户
提问于 2012-12-31 04:51:05
回答 1查看 1.2K关注 0票数 0

如果我从一个按钮发送一个AJAX POST请求。我是否需要在我的视图中验证CSRF令牌,或者Django在接受POST时会自动为您执行此操作?如果没有,我如何手动验证它?

此外,当您创建表单并传入请求时,表单对象将自动执行此验证,这是正确的吗?

jQuery:

代码语言:javascript
运行
复制
<script>
$(document).ready(function() {  
  $('#button1').click(function(){
    $.post("/", { 
      unique_id : "{{ unique_id }}",
      csrfmiddlewaretoken: '{{ csrf_token }}'
    });
  });
});
</script>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-31 05:06:13

如果您在项目settings.py中的MIDDLEWARE_CLASSES中有'django.middleware.csrf.CsrfViewMiddleware',,那么CsrfViewMiddleware会自动验证csrf_token。在documentation中也提到了这一点:

对于所有未使用HTTP GET、HEAD、OPTIONS或TRACE的传入请求,必须存在CSRF cookie,并且'csrfmiddlewaretoken‘字段必须存在且正确。如果不是,用户将得到一个403错误。

此检查由CsrfViewMiddleware完成。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14094527

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档