【问题标题】:codeigniter 4 session data lost after redirect from payment gateway从支付网关重定向后,codeigniter 4 会话数据丢失
【发布时间】:2020-10-30 11:06:57
【问题描述】:

PHP 7.3.23 和 CI 4.0.4 我在支付完成后重定向到 ccavenue 支付网关,会话数据丢失。它在控制台中显示消息为:

"表示是否在跨站请求中发送cookie 指定其 SameSite 属性。”因为 cookie 的 SameSite 属性未设置或无效,默认为 SameSite=Lax, 这可以防止 cookie 在跨站点请求中发送。 这种行为可以保护用户数据不被意外泄露给第三方 各方和跨站点请求伪造。

【问题讨论】:

标签: codeigniter codeigniter-4 ccavenue


【解决方案1】:

您很可能确实希望将会话 cookie 设置为 SameSite=Lax 以提高对 CSRF 攻击的保护。听起来好像您的支付网关发送了一个POST 请求以将用户返回到您的站点。

您应该:

  • 在没有会话 cookie 的情况下处理返回请求。例如该请求应该包含有效负载中的所有内容,以便您确定交易是否成功。然后,您可以显示带有链接的状态页面或类似页面,以允许用户继续访问其他页面。跟随这些链接中的任何一个都将是同一个站点的导航,并且会再次包含您的会话 cookie。

  • 使用POST/Redirect/GET 模式,处理传入的POST 请求以从中提取详细信息,然后重定向到您网站上的另一个页面,GET 请求是同站点请求,您的会话 cookie 将再次可用。

我也在这里解释过:https://goo.gle/samesite-3d-secure

【讨论】:

    猜你喜欢
    • 2020-07-14
    • 2017-02-06
    • 2020-11-11
    • 2020-12-26
    • 2015-09-03
    • 2022-08-20
    • 2013-01-06
    • 2021-01-29
    • 2021-05-26
    相关资源
    最近更新 更多