【问题标题】:iFrames Iexplorer doesn't write or read sessions (or cookies)iFrames Iexplorer 不写入或读取会话(或 cookie)
【发布时间】:2013-01-04 11:55:59
【问题描述】:

我构建了一个表单来逐步提交数据。在步骤之间,数据从步骤 1 进行到步骤 2,依此类推。需要这些数据。 50% 的访问者使用 iframe 从不同站点访问表单。

最初,数据存储在 cookie 中。这几乎适用于所有浏览器,除了 iexplorer。我玩了几天 P3P 但放弃了。什么都没有改变。然后我读到会话没有这个问题。所以我将整个登录系统更改为会话。

现在我正在测试系统,但仍然每个浏览器都使用 iframe 中的表单工作,除了粗略的 Iexplorer。

有什么我可以做的吗?

更新:服务器位于另一个时区,而它位于我的时区。更改时区应该有帮助,但没有。

【问题讨论】:

    标签: internet-explorer session iframe cookies p3p


    【解决方案1】:

    花了一些时间,但它已经解决了。我们开始:

    1. 有时时区不正确。如果差值超过一个小时,Iexplorer 会话将立即被销毁。您可以手动更改时区或要求您的网络托管商这样做。在 PHP 中你可以尝试:date_default_timezone_set(string $timezone_identifier)

    2. 除了1之外,有时一小时之内是不可能停留的。如果是这样,您可以更改会话缓存过期设置。在 PHP 中是 <?php session_cache_expire(1440); ?>

    3. iframe 中的 IE 有时会出现下划线问题。使用下划线时,IE 拒绝 cookie。所以不要使用它们或确保 IE 不会以这种方式存储它的会话。

    4. 使用 P3P(检查它是否合法,等等!)。在 PHP 中,您可以使用 header('P3P: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');

    这就是我尝试过的全部,他们一起工作(不是靠自己)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-31
      • 2013-04-12
      • 2017-07-02
      • 1970-01-01
      • 1970-01-01
      • 2013-10-06
      • 1970-01-01
      • 2016-05-26
      相关资源
      最近更新 更多