Django -- IE 上 IFrame 的 CSRF 失败。无法访问策略修复的父服务器 header

标签 django internet-explorer iframe csrf

我在 IE 中的 iframe 上遇到 CSRF 验证失败的问题。

我了解到,如果我可以使用 this question 中的信息通过添加某些标题来访问父页面的服务器,我可以修复它。不幸的是,我无权访问父页面(第三方主机平台),所以这行不通。

有问题的页面是:
http://yuchan.myshopify.com/collections/iphone-4-artist-series/products/custom-product

要重现该问题,请单击“上传您的作品”(第 2 步)并尝试在 IE 中上传内容。您应该收到 CSRF 错误。

我将禁用 CSRF 保护,但我很好奇其他人对我的情况有何看法。

谢谢!

最佳答案

出现这个问题是因为 IE 默认不接受 iframe 中的 cookie。您可以通过设置正确的标题来解决这个问题:

response = render_to_response('mytemplate.html')
response["P3P"] = 'CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"'

你有一些关于这里的博客条目:http://adamyoung.net/IE-Blocking-iFrame-Cookies .

关于Django -- IE 上 IFrame 的 CSRF 失败。无法访问策略修复的父服务器 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3776077/

相关文章:

javascript - 防止 iFrame 更改位置?

css - 根据gridview中的记录数调整iframe高度

django - 建立在 Django-Tastypie 上的自记录 API

css - IE 条件注释不起作用

python - Django 不断返回赋值错误前引用的局部变量 'product'

javascript - 带有 URL 片段问题的 IE 中的奇怪 document.location.href 问题

css - 如何在 Explorer 的文本区域中设置占位符的样式?

javascript - 如何从 iFrame 访问主窗口元素

python - 通过反向关系注释一个django查询

python - ImproperlyConfigured : settings. 数据库配置不正确。请提供引擎值