Internet Explorer 9 中 iframe 的 P3P 和 PHP 会话问题

Posted

技术标签:

【中文标题】Internet Explorer 9 中 iframe 的 P3P 和 PHP 会话问题【英文标题】:P3P and PHP session problem with iframes in Internet Explorer 9 【发布时间】:2011-09-11 03:23:00 【问题描述】:

我在 iframe 中有一个联系表单,它使用验证码,因此需要会话变量。它在除 IE9 之外的所有浏览器中都能正常工作。为了让它在 IE8 中工作,我在 php 文档的开头添加了以下行:

header('P3P:CP="CAO IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"'); 

但是,这在 IE9 中似乎不起作用。有什么想法吗?

【问题讨论】:

【参考方案1】:

我已经使用了这个标头并且能够在 IE9 中保存 cookie:

header('P3P: CP="NOI ADM DEV PSAi NAV OUR STP IND DEM"');

我试图找到所有这些含义的资源,但从未见过。我确实注意到我的标题中列出了一些您没有的规则。

我还在服务器上托管 p3p 策略,如下所述: http://www.awardsites.com/tutorials/w3c/p3p_privacy-01.htm

【讨论】:

不出所料,P3P specification 确实解释了这些 TLA 的含义。【参考方案2】:

最佳答案:@user973810

非常感谢。 这个

header('P3P: CP="NOI ADM DEV PSAi NAV OUR STP IND DEM"');

帮了我很大的忙。值得怀疑的是为什么只有 IE 会做这些奇怪的事情。

顺便说一句:这是对此的解释。 ;)

NOI 网站不收集已识别的数据。 ADM 信息可用于网站及其计算机系统的技术支持。用户不能选择加入或退出这种用法(与标签 ADMa 相同)。 DEV 信息可用于增强、评估或以其他方式审查网站、服务、产品或市场。用户不能选择加入或退出这种用法(与标签 DEVa 相同)。 PSAi 信息可用于创建或建立与假名标识符相关的特定个人或计算机的记录,而无需将已识别的数据(例如姓名、地址、电话号码或电子邮件地址)与记录相关联。此个人资料将用于确定个人的习惯、兴趣或其他特征,以进行研究、分析和报告,但不会用于尝试识别特定个人。选择加入意味着必须事先征得用户的同意。 通过浏览网站被动生成的 NAV 数据,例如访问了哪些页面,以及用户在每个页面上停留的时间。 我们自己和/或作为我们代理的实体或我们作为代理的实体。 保留 STP 信息以满足所述目的。这要求尽可能早地丢弃信息。站点必须具有建立销毁时间表的保留策略。保留政策必须包含在网站可读的隐私政策中或与其相关联。 IND 信息的保留时间不确定。此选项下将反映没有保留政策。如果收件人是公共论坛,这是适当的保留政策。 有关个人特征的 DEM 数据,例如性别、年龄和收入。

来源:http://www.p3pwriter.com/lrn_111.asp

【讨论】:

【参考方案3】:

这个对我有用 IE to accept cross-browser cookies 在所有浏览器上

在任何页面输出之前添加以下代码

header('p3p: CP="NOI ADM DEV PSAi COM NAV OUR OTR STP IND DEM"');

或者这个在头块中

<meta http-equiv="P3P" content='CP="NOI ADM DEV PSAi COM NAV OUR OTR STP IND DEM"' />

【讨论】:

以上是关于Internet Explorer 9 中 iframe 的 P3P 和 PHP 会话问题的主要内容,如果未能解决你的问题,请参考以下文章

Internet Explorer <= 9 中的 AngularJS $http.post 错误

为啥我的表单不能在 Internet Explorer 9 中上传文件?

在 Internet Explorer 9 中进行 Dart HTML5 拖放

在 Internet Explorer 9+ 中使用 IUIAutomation 自动另存为文件

Internet Explorer 9 无法正确呈现表格单元格

强制 Internet Explorer 9 使用 IE 9 模式