我是PHP的新手,我没有找到我正在寻找的答案的其他文章,但仍然不知道我想做的事情是否合理。PHP如何使用cookie在同一浏览器中管理多个会话?
我使用PHP 7
我的用户认证页面,检查凭据,然后执行session_start()
,从而在浏览器会话的服务器端和cookie的客户端。
Web应用程序的每个其他页面然后调用session_start()
来恢复会话信息,在这种情况下检查cookie。一切正常,至少当我有一个单一的登录。
我希望能够有多个用户同时使用cookie在同一浏览器(在另一个选项卡上,例如。)同时登录。我不想将会话ID附加到URL。
我设法在服务器端使用session_id()
在session_start()
之前在基于用户名的认证页面上创建不同的会话,但问题出在客户端。
第一次成功登录(session_start()
)会创建一个cookie,第二次登录会更新同一个cookie,从而破坏以前创建的会话。
因此,当恢复会话时,session_start()
将只恢复上次会话,根据会话信息混合从数据库中提取的数据。
有没有办法让session_start()
为每次登录创建一个cookie并使PHP使用cookie恢复正确的会话?
任何想法?
更多详情: 我正在更新旧版应用程序,尝试修复一些安全问题。多个会话的需求来自管理员访问同一站点的管理目的。为什么需要分离会话的原因是,根据会话信息,数据是从不同的数据库中获取的。因此,定期使用每个用户只需要一个会话,但他需要管理员根据该登录信息进行多次登录才能查看不同的数据。
我想这会帮助你http://stackoverflow.com/questions/24964699/php-how-can-i-create-multiple-sessions – user3099298
[多PHP会话]可能的重复(http://stackoverflow.com/questions/854105/multiple-php-sessions) –
你想在开发过程中使用它吗?或者这是为最终用户和完成的网站? –