我构建了一个表单来逐步提交数据。在两个步骤之间,数据从步骤1继续到步骤2,依此类推。需要那些数据。 50%的访问者使用iframe访问来自不同网站的表单。
最初,数据存储在cookie中。除了iexplorer之外,它几乎适用于所有浏览器。我和P3P玩了好几天但放弃了。没有任何改变。然后我读到会话没有这个问题。所以我将整个登录系统更改为会话。
现在我正在测试系统,但是除了粗糙的Iexplorer之外,每个浏览器仍然使用iframe中的表单。
我有什么可以做的吗?
更新:当服务器位于我的时区时,服务器位于另一个时区。改变时区本来应该有所帮助,但没有。
答案 0 :(得分:1)
花了一些时间,但它已经解决了。我们走了:
有时时区不正确。如果差异超过一小时,Iexplorer会话将被摧毁。您可以手动更改时区或让您的webhoster这样做。在PHP中,您可以尝试:date_default_timezone_set(string $timezone_identifier)
除了1,有时一小时内不可能停留。如果是这样,您可以更改会话缓存过期设置。在PHP中它是<?php session_cache_expire(1440); ?>
iframe中的IE有时会出现下划线问题。使用下划线时,IE会拒绝cookie。所以不要使用它们或确保IE不会以这种方式存储它的会话。
使用P3P(检查是否合法允许等等!)。在PHP中,您可以使用header('P3P: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');
这就是我尝试过的一切,他们一起工作(不是靠自己)。