我在这里看到了很多关于如何在IE中的iframe中使用cookie的文章,并且我尝试了几种解决方案,但迄今为止没有运气。这里就是我处理:(一小部件)无法在IE中的IFRAME中设置Cookie,即使使用P3P标头
我有一个是通过JavaScript创建了一个客户的网站的iframe我没有客户的网站的控制。我需要设置cookie以保持用户在iframe中登录,并且它可以在Chrome和Firefox中使用,但不能在IE 7/8中使用。我没有测试IE 6,但我认为它有同样的问题。
我使用IBM的策略编辑器创建了一个P3P策略,编辑表示紧凑策略在IE的安全性下是可以接受的,无论它设置为低,中或高。我使用的CP是:
P3P: policyref="/w3c/p3p.xml" CP="CAO DSP COR CURa ADMa DEVa PSAa PSDa CONi TELi OUR IND PHY ONL UNI COM NAV INT DEM CNT PRE"
(我试过几个其他CP的人说工作,但已经看到了结果没有差异。)
的网络服务器(NGINX)正在为此P3P标头提供每文件。我没有从代码中提供它。
p3p.xml文件存在并与精简策略匹配。 p3p.xml使用W3C P3P验证器进行验证。
即使有了P3P标题(无论我尝试过哪一个),IE在底部的状态栏中给了我“邪恶之眼”,并且不会让我设置cookie。他们在隐私报告中显示为已屏蔽。
我在SO上阅读Piskvor的帖子关于此主题:Cookie blocked/not saved in IFRAME in Internet Explorer但我还没有能够重现他在他的演示网站上能够做的事情:http://newmoon.wz.cz/test/page.php?send_p3p=1。我认为这是因为我得到了邪恶的眼睛,而他却没有。我已经完成了我读过的所有内容,作为摆脱邪恶的建议,但它仍然存在。嘲笑我。
如果您想尝试一下,我的测试页面在这里:http://truelike.com/js/bobs/frametest.php设置/阅读页面在iframe之外查看时工作正常,但在使用IE时完全不起作用。
仅供参考,我在后端使用PHP。
任何帮助都将不胜感激 - 我们在这里越来越绝望。
谢谢!
你只使用紧凑策略还是使用p3p.xml文件?你能说你在哪个网站上使用这个政策吗? IE8的中端安全和p3p策略让我的头撞墙了一段时间。 – Sergi 2011-10-26 15:54:18
我只使用了紧凑的策略,特别是:'header('P3P:CP =“CAO PSA OUR”');' – Wemmick 2011-10-26 20:26:50
我会试试看。你需要使用cookie来登录用户吗? – Sergi 2011-10-27 21:30:56