我已经看到 codeigniter 可以将会话值保存在数据库中。
它说在数据库中保存会话是良好的安全实践。
但我认为将会话信息保存在数据库中有助于提高性能。
它们只保存会话的几个元素,例如:
CREATE TABLE IF NOT EXISTS 'ci_sessions' (
session_id varchar(40) DEFAULT '0' NOT NULL,
ip_address varchar(16) DEFAULT '0' NOT NULL,
user_agent varchar(50) NOT NULL,
last_activity int(10) unsigned DEFAULT 0 NOT NULL,
user_data text NOT NULL,
PRIMARY KEY (session_id)
);
但是如果一个站点使用更多的会话变量,例如用户名、上次登录时间等,我可以将它们保存在数据库中并在程序中使用它们。
我必须将这些列添加到同一个表中吗?我认为将会话信息保存在数据库中只会有助于减少 Web 服务器的内存使用 (RAM)。任何人都可以解释它在什么意义上提高了安全性。