【发布时间】:2011-01-08 04:52:53
【问题描述】:
我们将我们的网站作为 iframe 集成到另一个在不同域上运行的网站中。我们似乎无法设置cookies。有没有人遇到过这个问题?有什么想法吗?
【问题讨论】:
-
老问题,但如果您可以修改这两个网站,这是一个可行的建议:stackoverflow.com/questions/18664395/…
我们将我们的网站作为 iframe 集成到另一个在不同域上运行的网站中。我们似乎无法设置cookies。有没有人遇到过这个问题?有什么想法吗?
【问题讨论】:
由于您的内容是从远程域加载到 iframe 中的,因此它被归类为第三方 cookie。
绝大多数第三方 cookie 由广告商提供(这些通常被反恶意软件标记为跟踪 cookie),许多人认为它们侵犯了隐私。因此,大多数浏览器都提供了阻止第三方 cookie 的功能,这可能是您遇到问题的原因。
【讨论】:
【讨论】:
在阅读了 Facebook 在 iframe 画布页面上的文档后,我想出了如何在具有不同域的 iframe 中设置 cookie。我在这里创建了一个概念验证 sinatra 应用程序:https://github.com/agibralter/iframe-widget-test
这里有更多关于 Facebook 如何做到这一点的讨论:How does Facebook set cross-domain cookies for iFrames on canvas pages?
【讨论】:
在默认隐私设置下,IE 要求您先set a P3P policy,然后才能允许第三方框架设置 cookie。
据推测,P3P 允许用户限制将哪些信息传递给承诺以某种方式处理它的各方。在实践中,它几乎毫无价值,因为用户无法真正对他们想要的信息处理方式设置任何有意义的限制;最后,这只是一个相当统一的设置,充当了所有第三方都必须跳过的圈子,即使他们无意这样做,也会说“我会很好地处理你的个人信息”。
【讨论】: