【问题标题】:Redirect to PayPal breaks sessions重定向到 PayPal 中断会话
【发布时间】:2013-07-10 08:21:37
【问题描述】:

我遇到了重定向和会话问题。

申请流程是这样的:

客户访问网站 将产品添加到购物车 选择使用 PayPal 结帐 被重定向到 PayPal 登录到贝宝 重定向回网站 继续通过计费/运输页面 确认订单并提交

这正在开发中,没有问题。

当我转到实时服务器时,会话在重定向到 PayPal 后不断丢失。

知道它可能是什么吗?

额外信息:

我发现第一次访问网站时,我有一个会话ID。

当我完成结帐流程并重定向到 PayPal,然后重定向回返回 URL(返回商家网站)时,cookie 中存在相同的会话 ID。所以看起来会话没有被重新启动,而是会话数据只是空的。

【问题讨论】:

  • 您在开始会话后是否致电session_regenerate_id
  • 直播服务器只是一台机器吗?会话 cookie 是否使用与 PayPal 重定向回相同的主机名设置?
  • 确保如果您在 http://www.example.com 上启动会话,Paypal 不会将您重定向回 http://example.com,反之亦然。
  • 橙丸 - 我不是。
  • Jon - 实时服务器只是一台机器,而不是负载平衡或类似的东西。生成会话的原始主机名与 PayPal 后返回客户的主机名相同。

标签: php session lamp


【解决方案1】:

我也有同样的问题,发现是域名错误,之前重定向到paypal url是

'http://www.example.com/paypal-redirect.php'

而在从paypal url返回的时候是

'http://example.com/paypal-return.php'

所以在这里我错过了 www,所以可能是这样,或者 http/https 只是检查那个东西,希望这将有助于解决这个问题

【讨论】:

  • 这正是我的问题。太棒了!
  • 谢谢你,让我好几天摸不着头脑!
【解决方案2】:

您是否在从 Paypal 返回的页面上调用 session_start()?

这通常是常见的错误。 http://www.w3schools.com/php/php_sessions.asp

【讨论】:

    【解决方案3】:

    在 php.ini 中, 设置 session.cookie_domain='.yourdomain.com'; 或者如果您无权访问它,请更改域参数

    session_set_cookie_params ( lifetime,'/','.yourdomain.com',false);
    

    注意你必须在 session_start(); 之前调用它

    这将在包括 www.domain.com 在内的所有子域上共享会话,这解决了我的问题。这样做的好处是我们不必担心用户是输入 www.domain.com 还是简单地输入 domain.com 来访问该页面。希望这会有所帮助

    【讨论】:

      猜你喜欢
      • 2012-10-31
      • 2014-02-10
      • 1970-01-01
      • 1970-01-01
      • 2021-02-15
      • 1970-01-01
      • 1970-01-01
      • 2012-01-10
      • 2011-06-26
      相关资源
      最近更新 更多