我想知道我应该如何允许用户在同一个会话中登录多个帐户。例如,用户应该能够打开一个选项卡,登录帐户 A,然后打开另一个选项卡以登录帐户 B。我还想确保他在第一个选项卡中所做的任何事情都只影响帐户 A,但所做的任何事情在第二个选项卡上会影响帐户 B,仅此而已。
这是我遇到问题的更具体的例子。假设有一个 JavaScript 函数被调用deleteList(listId)
,它暴露在全局空间中,也就是说,他可以在浏览器控制台中调用这个函数。现在,该用户以某种方式识别了帐户 B 中存在的列表的 listId。然后,他打开了他以帐户 A 登录的选项卡,并使用该功能删除了帐户 B 中的列表,尽管他在页面上他以帐户 A 登录。
我知道这可能不是实际或真实的情况,但我想知道,为了或学习,如何防止这种行为。也就是说,如果我允许用户登录多个帐户,即使在同一个会话中,我如何区分用户建立的每个连接(打开的选项卡/窗口)?
我可以为 PHP 中的每个唯一连接创建一个新会话吗?因为我观察到,如果我打开多个选项卡,它们都被标识为同一个会话。