可以与 IE 一起使用的最广泛的 P3P 标头是啥?

Posted

技术标签:

【中文标题】可以与 IE 一起使用的最广泛的 P3P 标头是啥?【英文标题】:What is the most broad P3P header that will work with IE?可以与 IE 一起使用的最广泛的 P3P 标头是什么? 【发布时间】:2011-12-24 07:12:48 【问题描述】:

IE8 中的“中等安全性”表明third-party cookies that save information that can be used to contact you without your explicit consent 被阻止。

什么是最广泛的 P3P 标头,意味着我们不收集此类信息,也不会被 IE 阻止?

我想跳过 P3P 政策中令人讨厌的细节,只设置暗示法律义务最少的标题。它的语义应该是:

we collect everything except information that can be used to contact you.

...不指定任何其他内容。

请注意,大多数 P3P 标头都包含在内 - 如果它们不存在,则不允许您将信息用于此目的 - 所以我正在寻找的 P3P 标头应该包含很多标志。

【问题讨论】:

【参考方案1】:

“我想跳过 P3P 政策中令人讨厌的细节”

可以在没有有效的紧凑隐私策略属性的情况下设置P3P HTTP 标头。

Facebook 就是这样做的。这是来自 facebook.com 的 P3P HTTP 标头:

P3P: CP="Facebook does not have a P3P policy. Learn why here: http://​fb.me/p3p"

谷歌也这样做:

p3p: CP="This is not a P3P policy! See http://www.google.com/support/accounts/bin/answer.py?hl=en&answer=151657 for more info."

这被 Internet Explorer 接受。例如,IE 的“高”隐私设置会阻止来自没有紧凑隐私政策的网站的所有 cookie,但不会阻止带有上述 P3P 非政策的 cookie。

如果您实施此类 P3P 非策略,请确保包含解释它不是真正 P3P 策略的自然语言,避免使用有效 P3P 令牌的词,并链接到较长解释的 URL 或指向您网站的真实隐私政策的 URL。


更新:2012 年,微软accused Google of bypassing user privacy settings 因为这种做法,而他们added a "strict P3P validation" setting to IE 10 and 11。启用后,它会拒绝伴随包含未定义令牌的 P3P 策略的 cookie。我相信该设置默认是禁用的。

Microsoft finally gave up on P3P 从 Windows 10 开始。因此对于 Edge(以及 Windows 10 上的 IE 11),P3P 策略与 cookie 接受度无关。

您可以检查User-Agent 请求标头,以便仅在受影响的IE 版本上设置P3P 标头。

【讨论】:

在 P3P 非策略中使用自然语言时,最好避免使用也是有效 P3P 标志的词,例如 OUR、NON、LAW 等。 每个 4.2.* 部分下的w3.org/TR/P3P11/#compact_policy_vocabulary 都有一个列表(总共大约 50 个)。【参考方案2】:

根据我的测试,这些 P3P 属性中的任何一个都会阻止 IE8 保存 3rd 方 cookie:

CON、TEL、PHY、ONL、FIN、GOV

骗局

信息可用于通过语音电话以外的通信渠道联系个人,以推广产品或服务。这包括通知访问者网站的更新。

电话

信息可用于通过语音电话联系个人,以推广产品或服务。

物理层

允许在现实世界中联系或定位个人的信息——例如电话号码或地址。

单打

允许在 Internet 上联系或定位个人的信息 - 例如电子邮件。通常,此信息独立于用于访问网络的特定计算机。 (参见类别 COM)

FIN

个人财务信息,包括账户状态和活动信息,例如账户余额、付款或透支历史记录,以及个人购买或使用金融工具的信息,包括信用卡或借记卡信息。

因此,如果您希望 IE8 不阻止您,请不要包含它们。我发现以下标志是最广泛、最符合法律规定的标志,同时在 IE 中仍能正常运行:

NON DSP LAW CUR ADM DEV TAI PSA PSD HIS OUR DEL IND UNI PUR COM NAV INT DEM CNT STA POL HEA PRE LOC IVD SAM IVA OTC

【讨论】:

【参考方案3】:

权威列表位于MSDN。在该页面中搜索Unsatisfactory Cookie Tags

【讨论】:

Hmmnope,这可能是另一个回复中更合适的评论,让我移动它..

以上是关于可以与 IE 一起使用的最广泛的 P3P 标头是啥?的主要内容,如果未能解决你的问题,请参考以下文章

GAE 上的 p3p 标头(Google App Engine)

将 reduce() 与 + 运算符一起使用的最简洁方法是啥?

IE、P3P、IFrame 和阻止的 cookie(在页面主机页面请求个人信息之前有效)

如果缺少必需的标头,返回的最合适的 HTTP 状态代码是啥?

IE 11 跨域请求

header('P3P: CP="CAO PSA OUR"'); 是啥意思?做?