0

我已经研究了很多这个主题。但是如果可以在纯 HTML 中设置 P3P 标签,我没有得到一件事?就在第一个标签之前。

我试图让 iFrame 登录解决方案在 IE 中工作。

我刚刚在 PHP、ASP.NET 等中找到了代码示例,但不是在普通的 HTLM 中,如果可能的话。

4

1 回答 1

1

我最近在尝试从 AWS S3 提供静态 HTML 时遇到了同样的问题。

不幸的是,如果不发送服务器端响应标头,就无法设置紧凑策略。

这意味着您不能对静态提供的 HTML 内容设置精简策略。

P3P 部署文档的第 2.4.2 节明确提到了这一点(强调我的):

  1. 站点服务于紧凑型政策的机制只有一种;它们作为 HTTP 响应标头发送。因此,如果站点不能或不愿意添加 HTTP 响应标头,则不能使用紧凑策略。

  2. 具有 http-equiv 属性的 HTML 元素 META 有时用于模拟将 HTTP 标头添加到 HTML 内容的效果。... http-equiv 机制不应用于发送 P3P 紧凑策略标头,因为在处理响应中的 cookie 之前,客户端可能无法使用此信息。

<meta http-equiv='p3p' content='CP="..."'/>and<link rel="P3Pv1" href="...">元素也不能设置 Compact Policy - 它必须是响应标头。

底线是这个:

你能发送p3p响应头吗?

  • 是:添加具有适当策略的标题,您就完成了。

  • 否:您不走运,无法制定契约政策。

对于亚马逊 S3:

p3p头被认为是用户定义的键,因此只能添加为x-amz-meta-p3p.

由于x-amz-meta-p3p!=p3p浏览器不会接受它作为正确的标题。

因此,您无法对 AWS S3 内容设置精简策略。

于 2015-06-10T02:31:56.127 回答