gpt4 book ai didi

p3p - Safari 不允许 iframe 中的跨域 cookie

转载 作者:行者123 更新时间:2023-12-01 03:38:26 24 4
gpt4 key购买 nike

IE 和 Safari 浏览器阻止 iframe 中的跨域 cookie。

例如
我有两个网站,假设它们是 example.comanotherexample.net .

example.com , 我有一页 http://example.com/someform.asp在此页面中,我正在使用 cookie。当我打开 http://example.com/someform.asp直接在浏览器中,它工作正常。

anotherexample.net , 我有页面http://anotherexample.net/page.asp ,此页面包含 IFRAME SRC="http://example.com/someform.asp" .现在当我们打开 http://anotherexample.net/page.asp浏览器中的页面,用于 example.com 的 cookie没有保存。在 Firefox 和 chrome 中不会出现这个问题。

我发现使用 p3p 策略我们可以解决这个问题,但是在 IIS 响应头中设置下面的 p3p 策略后,它仅适用于 IE。

P3P : CP="This is  a P3P policy! See  http://www.workplaceanswers.com/privacy-and-terms/"

但是,我在 safari 中仍然遇到同样的错误。我尝试使用如下不同的 p3p 策略值,但无法修复它。
P3P : CP="CUR ADM DEV HIS TEL STA STP COM”
P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT”
P3P:CP="IDC DSP COR CURa ADMa OUR IND PHY ONL COM STA”

有什么办法可以在 Safari 中完成这项工作吗?

最佳答案

有一个由 发布的解决方案Vitaliy Ryepnoy 在 github:https://github.com/vitr/safari-cookie-in-iframe

要点:
在主窗口( example.com )中,您应该检测浏览器是否是 safari,如果是,则将用户重定向到 iframe.com/fix_safari.html ,您可以在其中设置 cookie 并再次重定向到 example.com .

然后,safari 让你在 iframe 中设置一个 cookie,因为那里已经有一个来自 iframe.com 的 cookie。

经过数小时的挫折后,为我工作

github页面中的更多详细信息和代码示例

关于p3p - Safari 不允许 iframe 中的跨域 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32713992/

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