【问题标题】:Cake session getting lost on return from payment gateway从支付网关返回时蛋糕会话丢失
【发布时间】:2013-02-05 10:11:27
【问题描述】:

在我的应用程序中,我有一个会话,当用户从一个页面移动到另一个页面时它会持续存在。但是,该应用程序使用支付网关,如果用户转到支付网关,然后按下返回以尝试返回我的应用程序,Cake 将丢弃旧会话(及其包含的所有数据)并创建一个新会话。

我发现this question 这有点像同样的问题,只是它发生在用户从支付网关按“返回”时,我并不认为这会被归类为被推荐。

无论如何,该问题中的建议是将Configure::write('Security.level') 更改为low,但我使用的是CakePHP 2.3,我从changelog 注意到已经完成的一件事是“删除了Security.level from core.php"——这似乎是因为这个特定的设置不再用于任何事情。

所以,我的问题是,当用户从支付网关被推荐(或简单地回击)时,我如何禁用导致 Cake 丢弃并重新生成会话的任何东西?

【问题讨论】:

    标签: cakephp


    【解决方案1】:

    我建议更改以下core.php 设置:

    Configure::write('Session', 
        array(
            'defaults' => 'php',
            'timeout' => '30',
            'autoRegenerate' => false
        )
    );
    

    我有一个类似的问题,并为我解决了它。

    谢谢,

    【讨论】:

    • 奇怪,它似乎工作了一段时间,然后又停止工作。现在我还必须添加'checkAgent' => false 以使其再次工作。不过,我不明白为什么从支付网关按“返回”会改变用户代理。这没有任何意义。
    【解决方案2】:

    带有 chormeframe 的 IE 习惯于将第一个请求发送到具有普通 IE-useragent 标头的“不同”站点,而随后的请求中包含“chromeframe”。在非 Cake 网站上,我在检查用户代理时遇到了同样的会话问题。

    【讨论】:

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