如何在phpmyadmin中将会话ID存储为外键

时间:2015-08-27 14:09:31

标签: php database session foreign-keys

当用户使用session_regenerate_id()函数登录时,我在会话中存储了唯一的会话ID。每当用户进入我的网站时,他都会得到一个新的会话ID。

现在我想将他的一些数据保存在db表中。我想知道如何存储数据,以便新表从主表的用户ID获取外键。 因为我想将该信息与存储在主表中的用户ID相关联。由于安全性,我不希望将会话中的主表ID列存储为user_id。 请各位大型开发人员建议我使用核心PHP而不是框架。

开发人员很容易理解我想问的问题。我有点新:)

非常感谢 费萨尔

1 个答案:

答案 0 :(得分:0)

使用会话时,会生成一个随机字符串来标识用户 - 此字符串称为会话ID。会话ID存储在cookie中。每次请求都会将Cookie发送到Web服务器。然后,在服务器上,会话ID与会话数据连接。

攻击者无法更改会话数据,因此,在会话中存储用户ID不是安全威胁。

对于攻击者窃取某人的会话ID的情况,为了保护您可以检查用户代理和IP地址是否与创建会话时相同。如果没有,只需破坏会话。

要识别用户,您需要与用户建立会话。通过数据库中的一系列表格这样做并不能提供任何安全性。