带有CI 4.0.4的PHP 7.3.23,付款完成后,我将重定向到ccavenue付款网关,会话数据丢失。并且它在控制台中显示消息为:
”指示是否通过以下方式在跨站点请求中发送cookie 指定其SameSite属性。”因为cookie的SameSite 属性未设置或无效,默认为SameSite = Lax, 这样可以防止Cookie在跨站点请求中发送。 此行为可防止用户数据意外泄漏到第三位 各方和跨站点请求伪造。
答案 0 :(得分:0)
您很可能希望将会话cookie设置为SameSite=Lax
,以增强对CSRF攻击的保护。听起来您的付款网关发出了POST
请求,以将用户返回您的网站。
您应该:
处理不带会话cookie的返回请求。例如该请求应在有效负载中包含所有内容,以便您确定事务是否成功。然后,您可以显示状态页面或带有链接的类似页面,以允许用户继续浏览其他页面。跟随这些链接中的任何一个都将在同一站点进行导航,并将再次包含您的会话cookie。
使用POST
/ Redirect / GET
模式,在此模式中,处理传入的POST
请求以从中提取详细信息,然后重定向到您的其他页面网站,该GET
请求是一个同一个站点请求,您的会话Cookie将再次可用。
我也在这里进行了解释:https://goo.gle/samesite-3d-secure