【问题标题】:Why is IE7 rejecting session cookies from a page in a frame?为什么 IE7 拒绝来自框架中页面的会话 cookie?
【发布时间】:2009-09-01 15:43:52
【问题描述】:

我正在构建一个网站,该网站被其他网站加载到frameset(父网站的域名不同)。

这适用于所有浏览器(包括 IE6),除了 IE7。它根本没有注册会话,根本不起作用。

站点是使用 LAMP、MySQL 5 和 PHP 5 实现的 - 是的,可能与实际问题无关,但仍然值得一提。

有什么建议吗?

【问题讨论】:

    标签: php session cookies internet-explorer-7 frames


    【解决方案1】:

    您可能想尝试将P3P 标头添加到您的网站,如下所示:

    header('P3P: CP="ALL ADM DEV PSAi COM OUR OTRo STP IND ONL"');
    

    详情请参阅blog post

    【讨论】:

    • 在 CP= 之后如何找出我可能需要的值?所有这些代码是什么意思?
    • 将使用 NOI - 网站不收集已识别的数据标签允许 IE 从另一个域的网页内的 iframe 中显示我的网页,然后?
    【解决方案2】:

    这是标准的 Internet Explorer 安全设置。它不接受“第三方 cookie”(即来自地址栏中显示的域以外的域的 cookie)。除其他用途外,这还可以防止广告商为其在其他网站上展示的广告保存跟踪 cookie。

    个别访问者可以在他们的偏好中关闭该设置,但您将无法绕过它,除非跳出框架集。

    【讨论】:

    • 另外,我相信火狐也有类似的设置。
    【解决方案3】:

    我认为如果您添加适当的P3P Policy,那么 IE 将允许 cookie。

    我使用IBM P3P Policy Editor 创建了一个。

    【讨论】:

      【解决方案4】:

      主机名/域名中是否有下划线(即 test_site.localdomain)?如果是这样,这可能是问题所在,因为 IE 在设置 cookie(并因此记住会话)之前对域名进行了一些基本验证,并且它拒绝主机名中的下划线/下划线。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-09-28
        • 1970-01-01
        • 2012-11-11
        • 2011-09-19
        • 1970-01-01
        • 2023-03-31
        • 2023-03-13
        • 1970-01-01
        相关资源
        最近更新 更多