Codeigniter会话的替代方法,用于获取用户数据

时间:2018-11-18 16:26:00

标签: php codeigniter codeigniter-session

我仍然是codeigniter的初学者,并且一直在这里和那里捡拾点点滴滴。

我使用codeigniter构建了一个网站,少数人可以使用该网站输入有关其团队成员和每个成员的进度的信息。
在数据库中,每个用户都有其团队的ID(团队在另一个表中定义)。每当每个用户登录时,我都会使用$ this-> session-> set_userdata将他的团队ID保存为userdata会话。
每当他插入数据或需要显示有关他的团队的数据时,我都会从会话数据中获取ID并将其保存到要在我的代码中使用的变量中。

我在这里的问题是,尝试查看我正在做的事情是否健康,安全,并查看是否可以在不使用会话的情况下进行操作。

谢谢。

1 个答案:

答案 0 :(得分:3)

您正在做的事情完全可以,而且实际上很普遍。请记住,会话并不是要存储大量数据,但是ID和基本信息就可以了。会话或多或少使用cookie作为唯一标识符,该cookie指向存储数据的会话文件或数据库条目(如果使用的是CI db会话)(请参见:How secure are PHP sessions?)。用户无法访问此数据,只能通过服务器端脚本对其进行编辑,但是可以劫持会话(请参阅:Preventing session hijacking),但我对此不必太担心(请参阅:{{ 3}},作者Narf为CI编写/共同编写了会话库)。

长话短说,您正在做的事是普遍而美好的。使用会话可以满足您对基本内容的需求。您将始终需要一些唯一的标识符来指向用户ID,因此请不要尝试避免会话。