【问题标题】:IE8 loses my session data when using payment gateway使用支付网关时 IE8 丢失了我的会话数据
【发布时间】:2009-07-15 10:10:55
【问题描述】:

这是一个非常奇怪的问题,似乎有点间歇性(尽管它现在已经开始持续发生 - 可能是由于 Windows 更新?)。

我的代码以前在 IE7 中运行良好,并且继续在 Firefox、Chrome 以及除 IE8 之外的任何其他浏览器中运行。

我正在设置一些会话数据,然后将用户传递给支付网关(Protx / Sage,如果这有什么不同的话),返回时需要引用我的会话数据。但是我的会话数据消失了。我没有对支付网关显示做任何花哨的事情 - 没有 iframe,只是在同一个浏览器窗口中将用户带到支付页面的链接。

读完之后,我尝试在我的页面中添加以下内容以强制兼容模式(显然这会导致 IE8 丢失会话数据):

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />

这没有效果(但据我所知,支付页面没有强制兼容模式)。

似乎有不少人说 iframe 会导致这种行为,但同样没有使用 iframe。

考虑到 IE8 中的持久会话数据 - 与 IE7 和其他浏览器不同,当启动浏览器的新实例时,可以访问另一个浏览器实例中的任何会话 - 我正在努力查看我的位置和方式会话数据正在丢失。

【问题讨论】:

    标签: php internet-explorer session internet-explorer-8


    【解决方案1】:

    我以前用 Sage Pay 做过这种事情。这是我所做的,它可能会有所帮助:

    1. 注册交易
    2. 将当前会话 ID 保存到数据库中(例如,在临时存储的事务中)
    3. 发送用户到sage pay进行支付
    4. Sage pay 通知您,您可以加载临时交易
    5. 将会话 ID 作为重定向 URL 的查询字符串参数传递
    6. 在重定向(完成页面)检查请求中是否有会话 id var,如果有,则在调用 session_start() 之前调用 session_id($theIdYouGotFromQueryString)

    ps 是的,我知道它不能直接回答您的问题。但也许这样做会有所帮助?

    【讨论】:

    • 遇到同样的问题,并且已经实现了类似的解决方案,但是这样发送会话 id 是否存在任何安全隐患?
    【解决方案2】:

    我遇到了同样的问题,我追踪到的是,如果您使用页面来生成会话,然后一旦生成,您就会执行标题(位置:...);调用 IE 会认为它需要在保护模式下生成一个新会话,并会丢弃前一个会话中的所有 cookie。

    【讨论】:

    • 那么你做了什么来解决这个问题?
    【解决方案3】:

    您如何存储会话 - 在 cookie 中或作为页面中的隐藏变量/表单字段(如果是后者,那么它可能不会从支付网关返回)。

    过去我在 IE 和会话方面遇到过类似的问题,但是这被追踪到主机名中有下划线(例如 test_site.internal)的开发测试区域,这导致 IE 无法正确保存 cookie。

    您可能还想尝试Charles Proxy 来观察 Internet Explorer 和服务器之间的数据流,看看您是否可以看到您需要的数据在什么时候停止传递。

    【讨论】:

    • 我正在使用标准的 php 会话 - 例如设置$_SESSION,所以我认为它必须是基于cookie的(没有附加到url的会话ID)。主机名中没有下划线。我看过 Charles Proxy 和 Fiddler2,但我不确定如何解释他们关于会话内容的输出?
    • 查看在支付门户之前和之后发送到您网站的 cookie。您还可以通过 Set-Cookie 检查任何 cookie 删除或过期。使用 Fiddler,您还可以检查进程 ID,并确保新访问在同一进程中,以排除任何 LCIE 问题。
    【解决方案4】:

    这听起来像是一个 P3P 问题。 请参阅:http://support.microsoft.com/kb/323752/en-us,适用于 IE6 及更高版本的浏览器。

    【讨论】:

      猜你喜欢
      • 2015-09-03
      • 2020-12-18
      • 2019-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-06
      • 2020-07-14
      相关资源
      最近更新 更多