每个用户一个会话或每个用户一个会话

时间:2016-06-24 14:08:35

标签: session

我很好奇PHPSESSID的价值,因为我创建了一个简单的登录类型的网络应用程序。当我尝试使用其他帐户登录时,PHPSESSID的值不会更改。如果它没有问题我很好奇。因为我也尝试使用不同的帐户登录youtube。但他们的SID's对每个用户都有所不同。

我的问题是:

1)我的网络应用程序发生了什么?

2)是的,如何为每个帐户/用户创建会话ID?

3)如果不是,我该如何解决?

我非常感谢你的建议。

1 个答案:

答案 0 :(得分:1)

这在一定程度上取决于您如何实施"登录。"一种方法是简单地改变用户身份(根据定义,它是存储在会话中的数据的一部分),同时保持相同的会话。

另一种同样有效的方法是首先更新现有会话(以显示该会话中的用户现在"已注销")(可能......) ,然后投入一个全新的会话ID,从而启动一个全新的会话,您现在可以登录。"

第二种方法的一个优点......也许是这么多网站以这种方式做到这一点的原因......与用户可能希望打开一个新的浏览器窗口并记录 - 的可能性有关第二次进入应用程序,打算同时保持两个登录。如果session-id令牌是URL的一部分,或者可能是隐藏表单或者你有什么的一部分,那么session-id的可以独立保留,用户可以做他没有冲突的事情。存在两个并行会话。在一个,他登录为"乔,"在第二次,他登录为" jeff。"等等。一组浏览器窗口(不知何故......)带有" jeff会话"令牌;其他人带着"乔会议"令牌。

从根本上讲,"会话"只是一个服务器端值池,由客户端每次提供的(PHPSESSID ...)令牌标识。具体如何选择管理它,由您自行决定。这是一个没有"正确"的设计决策。方法