【问题标题】:iFrames + Google Analytics + Cookies + P3PiFrames + 谷歌分析 + Cookies + P3P
【发布时间】:2011-04-02 14:59:58
【问题描述】:

我正在开发一个为合作伙伴网站带来流量的网站。当在我们的网站上单击合作伙伴网站的徽标时,我们会在包含我们的基本标题和 iframe 内的合作伙伴网站的页面中打开合作伙伴网站。早些时候,我们只是在新窗口中打开合作伙伴网站。到目前为止一切都很酷。

大多数合作伙伴网站使用谷歌分析来跟踪我们发送给他们的流量,在我们开始在 iframe 中打开网站后不久,我们的合作伙伴报告说谷歌分析不再跟踪数据(或只跟踪一小部分数据)。

我在 googleverse 上完成了相当多的家庭作业/研究,并发现了跨域和 iframe 的谷歌分析或 cookie 的已知问题。

我正在尝试解决此问题,唯一被引用的解决方案是使用 P3P 标头。

  1. 首先,P3P 标头在哪里?在我的网站页面或合作伙伴网站页面中。由于我们有许多合作伙伴网站(大大小小的),如果解决方案是在这些网站中的每一个中放置标签,那将是不切实际的。我可以轻松地将它们添加到包含 iframe 的页面中。

  2. 在各种 p3p 标头生成器中,您推荐一种可靠的吗?

  3. 有没有办法解决这个问题?我真的需要在 iframe 中打开网站,显然合作伙伴网站确实需要跟踪流量。

感谢您的帮助。

【问题讨论】:

  • @eduardocereto:添加了更多代码示例。

标签: cookies google-analytics iframe p3p


【解决方案1】:

很遗憾,您和合作伙伴网站都需要设置标题。

替代方案:

  • 如果您不希望合作伙伴网站设置标题,一种选择是降低安全级别(在 IE 中)或在浏览器设置中授予对第 3 方 cookie(在 FF 中)的访问权限。每个客户都必须这样做,所以这可能不是一个有吸引力的解决方案。
  • 使用localStorage(HTML5 thingy - 支持localStorage 的浏览器允许访问站点和存储在localStorage 中的iFrame 内容)。这在短期内可能不可行,因为它需要您和您的合作伙伴网站都实现向/从localStorage 保存/读取信息,并且并非每个浏览器都支持它(尤其是较旧的 IE 浏览器)。

添加基本策略标题(理想情况下,您应该直接生成自己的策略 - 检查下面的第 2 项)

php中加入这一行:

<?php header('P3P: CP="CAO PSA OUR"'); ?>

ASP.Net 中:

HttpContext.Current.Response.AddHeader("p3p", "CP=\"CAO PSA OUR\"");

HTML 页面中:

<meta http-equiv="P3P" content='CP="CAO PSA OUR"'>

关于您的其他问题:

1) P3P 标头是指将称为compact policy 的内容传递给浏览器的HTTP 标头。如果没有这样的政策,IE(尤其是)和其他浏览器将阻止访问 3rd 方 cookie(用于指代 iFrame 的 cookie 的术语)以保护用户的隐私问题。

就 Google Analytics(分析)而言,您的网站和合作伙伴网站仍需要按照文档中的说明配置 cross domain tracking

2)您可以使用这个基本策略标头(足以修复 iFrame 的 cookie):

P3P:CP="CAO PSA OUR"

或生成您自己的。如果您不确定这些术语的含义,请参阅this

要生成此类策略,您可以使用在线编辑器,例如 p3pedit.com 或 IBM 的 tool,它们会提供一组问题并允许您提供答案。这使您可以轻松快速地生成此类策略。您可以生成policy XMLcompact policy 等。

3) 您可以尝试上述两种方法。

将政策添加到整个网站的步骤

  1. 生成紧凑策略(使用前面提到的工具之一)或使用基本策略
  2. IIS 中,右键单击所需的页面、目录或站点,然后单击“属性”。
  3. 在 HTTP 标头选项卡上,单击添加。
  4. 在“自定义标题名称”字段中,键入 P3P。
  5. 在“自定义标头值”字段中,输入您的 Compact P3P 策略(或上面的基本策略),然后单击“确定”。
  6. Apache 中,这样的 mod_header 行就可以了:
Header append P3P "CP=\"CAO PSA OUR\""

希望对您有所帮助。

【讨论】:

  • 好答案。我注意到 CP="CAO PSA OUR" 通常足以绕过 cookie 限制。
  • 除了遵守没人关心的规范之外,还有什么理由创建完整的 P3P 文件?
  • 创建完整 P3P 文件的原因是您关心它! :)
  • IE 10 是否仍然支持 P3P 元标记? IE 8 是公司的默认浏览器,我正在尝试让 Google Analytics 在 iF​​rame 中工作,当然 IE 是有问题的。
  • 由于P3P很大程度上是MS的想法,而且IE是唯一支持它的主要浏览器,我不会这么认为。此外,根据他们的privacy statement,他们这样做了。
猜你喜欢
  • 1970-01-01
  • 2017-05-08
  • 2015-09-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多