【发布时间】:2011-10-27 04:07:32
【问题描述】:
我在设置和获取 COOKIES 时遇到了一些问题。我在 iframe 之外有一个页面,我在其中设置了一个 cookie,然后重定向到 facebook,在那里我获得了之前设置的 COOKIE 并存储在数据库中。这个用户路径工作正常,除了用户可以直接到达 Facebook 页面(标签),如果没有设置,我需要在那里设置一个 cookie。
我知道在某些浏览器中设置 COOKIE 时应该存在 P3P 策略,所以我使用: header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');它适用于 IE,但我注意到问题不仅与 IE 有关。
一个可能的问题可能是我设置并尝试直接在同一页面上获取 COOKIE,而不在设置 COOKIE 后刷新页面??? iframe 会影响通过 PHP 设置 COOKIES 的方式吗?
有什么想法吗?
提前致谢。
【问题讨论】:
-
试试
$_COOCIE['somename'] = ...而不是setcookie -
您应该谨慎设置 P3P 标头,因为它们是您将如何处理使用数据的潜在法律约束承诺。通常,它们应该链接到一个 XML P3P 文档,该文档应该做出合法可验证的断言。不幸的是,没有其他方法可以让 IE 允许您在 iFrame 中设置 cookie。如果您没有包含 P3P 标头,您将需要一个无 cookie 的解决方案。
-
Cookie 应该在所有其他浏览器中都能正常工作。只要您还没有发送标头,您应该能够检查 cookie 并将其设置在同一组 PHP 代码中。
-
@Robin Winslow,我在检查是否设置了 COOKIE 之前使用了 P3P 标头,这样它不会起作用吗?
标签: php facebook cookies iframe