gpt4 book ai didi

php - 同一登录用户分配不同的 session ID(在不同的浏览器中)

转载 作者:行者123 更新时间:2023-11-29 04:59:37 25 4
gpt4 key购买 nike

我已经在 php 中实现了一个基于 mysql 的 session 接口(interface)。我刚刚发现,如果我使用浏览器 A(例如 Chrome)登录我的帐户,然后我在另一个浏览器 B(例如 IE)中登录同一个帐户,每个浏览器都会分配 2 个单独的 session ID。我怎样才能使当我再次使用浏览器 B 登录时,我保留以前浏览器 A 的事件 session ?

手头的问题是我在 session 中存储了某些信息,并且数据在不同浏览器中的相同用户之间没有同步,并且造成了严重破坏。 :S

有什么办法可以实现吗?

谢谢!

最佳答案

如果您将 session 存储在数据库中,请添加一种机制,通过该机制将 userId 存储为数据库 session 记录的一部分,从而创建我喜欢称之为“语义 session ”的内容。当用户登录时,检查是否已经存在另一个 session ;如果是这样,请使用 session_id()将新 session 固定到旧 session 的 ID,这将加入它们(并且应该为所有后续请求更改新 session 的 ID)。请确保仅在登录步骤期间执行此操作,否则您可能会遇到两个 session 试图成为彼此并“交换”的异常竞争条件。

关于php - 同一登录用户分配不同的 session ID(在不同的浏览器中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2738979/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com