首页 > 解决方案 > PHP - 存储值的替代方法,而不是 session-cookies

问题描述

最近我在这里打开了一个问题,关于我在修改其他用户会话的会话值时遇到的问题。

问题链接:PHP 会话:如何编辑其他用户的会话/编辑会话文件

情况描述:我试图为每个用户直接编辑存储在服务器中的文件。但是由于保护和文件锁定,我能做的最好的就是在会话需要任何强制更新时结束会话,方法是使用实​​现 SessionHandlerInterface 的类。好吧,现在,我想知道我可以存储值的其他类型,而不是 URL 上的会话 cookie 或参数(数据库不计算在内)。有没有办法把它收集到内存中?

示例 1:我用户进入系统并更改系统语言。我将当前语言保存在 Session 中。

示例2:用户通过实现的功能启用网站的移动版本,并且它存储在它的会话中,该网站是移动的。

示例 3:用户已登录,其对象存储在会话中。

标签: phpsessionsession-cookies

解决方案


在会话中保存临时日期是可以的,只要记住它下次不会在那里。cookie 也是如此,但对于 cookie,您还必须考虑用户可以更改它们的事实。

在登录时加载数据并将其存储在会话中并不是一个坏主意,尤其是当您必须考虑性能时,实际上没有理由在每次页面加载时从数据库中提取所有数据,除非您只想杀死 MySQL 服务器(一旦您有更多数据和并发用户)。


推荐阅读