会话 Cookie 仅在 Chrome 中行为不当
在购物车应用程序中导航时,出现了一个特殊问题:存储的会话数据保留在 Firefox 中但在 Google Chrome 中却神秘消失了。尽管会话初始化过程正确,但诸如“last_viewed_element”之类的变量在 Chrome 中持续丢失。
此行为扩展到所有会话变量,正如 Chrome 在访问 $_SESSION 时缺乏响应所证明的那样。然而,深入研究网络监视器后,很明显正在传输会话 cookie。
非常规解决方案:用 Cookie 替换会话
为了解决这个难题,发现了非正统的解决方案。通过从会话 Cookie 切换到常规 Cookie,问题消失了。
根本原因:Chrome 对 404 错误的响应
进一步调查显示 Chrome 触发了 404 错误到丢失的 favicon.ico。此 404 调用执行了页脚脚本,该脚本随后更改了会话变量,解释了它们的消失。
这种不寻常的现象凸显了考虑 Web 应用程序中浏览器特定行为和会话处理之间潜在交互的重要性。
以上是为什么会话 Cookie 在 Chrome 中消失,而在 Firefox 中却没有?的详细内容。更多信息请关注PHP中文网其他相关文章!