gpt4 book ai didi

django - CSRF 验证失败,但仅限 IE9

转载 作者:行者123 更新时间:2023-12-04 15:03:21 25 4
gpt4 key购买 nike

我已经按照 Django docs 中的描述设置了 CSRF (使用 Django 1.3)。它适用于 FF 和 Safari,但在 IE9 上我得到

<div id="summary">
<h1>Forbidden <span>(403)</span></h1>
<p>CSRF verification failed. Request aborted.</p>
</div>
在我发现的 Ajax 请求的响应 header 中
Set-Cookie  csrftoken=8db3637951243ffb591e6b2d6998ed03; expires=Fri, 14-Sep-2012 08:01:52 GMT; Max-Age=31449600; Path=/
当以正常形式使用它时,它可以在 IE9 中使用(即不涉及 Ajax)。
我在 nginx/1.1.2 后面使用 Django。
任何提示我在这里缺少什么?

最佳答案

如果您的表单位于 iframe 中,可能的原因是 IE 阻止第三方 cookie 的默认策略。你可以

  • 不使用 iframe,
  • 将 iframed 页面置于与主页相同的域下,
  • 使用 @csrf_exempt decorator 禁用该特定表单的 CSRF , 或
  • 使用 HTTP header 告诉浏览器允许第三方 cookie(参见 Chase Seibert's excellent explanation of this issue 中的解决方法 #3)。

  • Django的票 #17157建议在文档中添加有关此问题的注释。

    关于django - CSRF 验证失败,但仅限 IE9,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7441889/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com