【发布时间】:2015-11-21 23:18:24
【问题描述】:
当用户使用 session_regenerate_id() 功能登录时,我在会话中存储了一个唯一的会话 ID。每次用户登录我的网站时,他都会获得一个新的会话 ID。
现在我想将他的一些数据保存在 db 表中。我想知道我应该如何存储数据,以便新表从主表的用户 ID 中获取外键。 因为我想将该信息与存储在主表中的用户 ID 相关联。由于安全性,我不想将会话中的主表 ID 列存储为 user_id。 请各位大开发者给我推荐一个使用核心 PHP 而不是框架的好方法。
开发人员会很容易理解我想问什么。我有点新:)
非常感谢 费萨尔
【问题讨论】:
-
我不知道你想问什么...修正语法
-
我刚刚存储了这样的会话 session_regenerate_id(); $_SESSION['logged_in'] = true; $_SESSION['ip'] = $_SERVER['REMOTE_ADDR']; $_SESSION['user_agent'] = $_SERVER['HTTP_USER_AGENT']; $_SESSION['last_login'] = time(); db中有一个用户表和一个详细信息表。我想将登录用户的详细信息存储在“详细信息”表中。想知道存储和关联两个表的最佳方式是什么。虽然我没有在会话中存储用户表 ID。
-
为什么需要明细表?为什么不在会话中存储用户 ID?
-
这就是我要问的。在 session 中存储 users 表的 ID 列数据是否安全?如果我这样做,会话劫持不是可能的吗?
-
是的,它是安全的。不将用户 ID 与其他会话数据存储在同一个表中不会阻止会话劫持的发生。
标签: php database session foreign-keys