1

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

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

我在这里的问题是尝试看看我正在做的事情是否健康、安全,并看看我是否有办法在不使用会话的情况下做到这一点。

谢谢你。

4

1 回答 1

3

您正在做的事情完全没问题,实际上很常见。请记住,会话并不意味着存储大量数据,但 ID 和基本信息就可以了。或多或少,会话使用 cookie 作为唯一标识符,指向存储数据的会话文件或数据库条目(如果您使用 CI 数据库会话)(请参阅:PHP 会话的安全性如何?)。用户无法访问此数据,只能由服务器端脚本编辑,但会话可以被劫持(请参阅:防止会话劫持)但我不会太担心(请参阅:如何防止会话在 CodeIgniter 3 中劫持,作者 Narf 为 CI 编写/共同编写了会话库)。

长话短说,你正在做的事情很普通而且很好。使用会话来满足您的基本内容。您将始终需要一些唯一标识符来指向用户 ID,因此不要试图避免会话。

于 2018-11-18T20:01:58.897 回答