当用户使用session_regenerate_id()函数登录时,我在会话中存储了唯一的会话ID。每当用户进入我的网站时,他都会得到一个新的会话ID。
现在我想将他的一些数据保存在db表中。我想知道如何存储数据,以便新表从主表的用户ID获取外键。 因为我想将该信息与存储在主表中的用户ID相关联。由于安全性,我不希望将会话中的主表ID列存储为user_id。 请各位大型开发人员建议我使用核心PHP而不是框架。
开发人员很容易理解我想问的问题。我有点新:)
非常感谢 费萨尔
答案 0 :(得分:0)
使用会话时,会生成一个随机字符串来标识用户 - 此字符串称为会话ID。会话ID存储在cookie中。每次请求都会将Cookie发送到Web服务器。然后,在服务器上,会话ID与会话数据连接。
攻击者无法更改会话数据,因此,在会话中存储用户ID不是安全威胁。
对于攻击者窃取某人的会话ID的情况,为了保护您可以检查用户代理和IP地址是否与创建会话时相同。如果没有,只需破坏会话。
要识别用户,您需要与用户建立会话。通过数据库中的一系列表格这样做并不能提供任何安全性。