我有一个项目,我想在一个浏览器中创建两个 session cookie。第一个 session 将唯一地标识一个人,第二个 session 将在用户之间共享 session 中的事件。我一直为此使用数据库,但希望数据在 session 结束时消失。系统内没有登录。
除了创建 cookie 系统来复制功能之外,还有其他方法可以做到这一点吗?
例如,我们有两个 session cookie:
name=someRandomUUID
和 session=valueSharedBetweenUsers。
我不想与多个用户共享 name
session ,但 session
session 会。想法?
最佳答案
如果你想在用户之间共享信息,使用 session 不是最好的主意,因为它使用文件系统。您最好使用处理所有锁定、并发等问题的数据库。
尽管您的要求在技术上是可行的,但我强烈建议您不要这样做。
编辑
假设我已经正确理解了您的要求,下面是我的做法:
仅使用 session 来存储与该用户相关的 session 数据。它可能包括如下内容:
$_SESSION['name'] = 'test name'; $_SESSION['groupid'] = 2;
一个 MySQL 数据库和表,包含字段
groupid
、XXXXX
(您要存储的数据)、timestamp
每当有人更新特定组 ID 的信息时,您都会更新时间戳。
然后运行一个简单的 cronjob 来检查是否有任何 current time - timestamp > 3600
(一小时),您可以将其视为陈旧并删除这些记录。
关于php - 在一个实例中使用 PHP 的多个 session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3602476/