我知道这个话题已被广泛报道,但我完全陷入困境,需要一些方向和新的意见。我有一个完全适用于IE6,8,Safari,Chrome,FF等的Facebook iFrame应用程序。只有IE7让我感到悲伤。Facebook的iFrame应用程序 - IE7不允许cookies
我已经创建了一个P3P策略文件及其关联的XML文件。该政策与P3P策略验证人完全验证。
只要iFrame从Facebook内部加载,就会出现红眼图标,当我点击它时,它会报告来自iFrame域的cookie被阻止。我已确认在IE7上设置了默认的“中等”隐私设置。有趣的是,我发现通过删除Google Analytics,页面将在不阻止Cookie的情况下初始加载,但只要页面重新加载或用户登录,cookie即会再次被阻止,即使P3P标题是从每个页。所有资产都是通过S3发送的,所以在那里不应该有任何问题。
仅供参考,这是我的P3P文件;我已经尝试了绝对路径,相对路径,CP和policyref的切换顺序,并将两者分隔开来,但没有运气。
header('P3P: CP="NON DSP TAIa PSAa PSDa OUR IND UNI", policyref="/w3c/p3p.xml"');
我已确认P3P标题正在被浏览器发送和接收。我已经在HTML页面添加了一个META p3p标签。我已删除所有重定向。问题仍然存在。我花了很多时间来研究这个问题,现在我已经没有想法了。任何有关如何从新的角度来看待这个想法或想法将不胜感激。我在NGINX上使用PHP 5.3.5。没有框架正在使用...
嗨Peter:很有意思,谢谢你的解释。不幸的是,我们的请求是通过AJAX进行的,所以硬刷新不是一种选择。我们最终做的是存储在一个JSON对象所需的数据,并验证了在提交数据,如果我们有一个有效的会话,否则(IE7),提交的数据。由于该应用程序只能在短时间内运行,因此我们并不太在意伪造的数据。 我们也使用JS SDK杀无效会话(只有这样,因为FB的状态饼干通过它们的域管理),所以不能去因为这个原因这条路线也是如此。 – Tyler 2011-02-08 16:15:05