gpt4 book ai didi

php - 是否可以从其他 session 访问 $_SESSION 变量?

转载 作者:行者123 更新时间:2023-12-02 04:56:12 24 4
gpt4 key购买 nike

我的网站使用 session 进行用户登录,我想在每个页面上显示一条消息,向用户显示有多少台计算机登录到他们的帐户(就像 Gmail 所做的那样)。

例如,如果他们在两台不同的计算机上登录,我希望消息说:

You are logged in on 2 computers.

我知道如何检查他们是否已登录——我只需检查 $_SESSION['username'] 变量,如果已设置,则他们会在那台计算机上登录。但是如何检查是否在其他 session 中设置了相同的用户名(表明他们在其他计算机上登录)?

最佳答案

使用基于默认文件的 PHP session 很难做到这一点。默认情况下,PHP 只是将 session 信息存储在文件系统中一个文件中的不透明 blob 中,文件名就是 session ID。如果不将这些文件一一打开并对其进行评估,您将无法直接访问这些文件中的数据。

您需要的是将该信息移动到数据库中。要么只在数据库中存储并发登录的数量,而保持其他 session 不变,但这很难保持同步。最好为 session 切换到完整的数据库后端,而不是基于文件的存储。这使您可以透明地查询 session 中的任何数据,包括轻松获取有关用户有多少 session 的统计信息。

关于php - 是否可以从其他 session 访问 $_SESSION 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17930651/

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