0

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

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

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

有什么我可以做的吗?

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

4

1 回答 1

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"');

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

于 2013-01-21T13:33:29.417 回答