4

我对使用会话来完成我的计划感到有些困惑。未登录的用户访问我的网站并上传文件。该用户在其会话期间可以控制文件的所有权(使用 session_id() 设置)。但是,为了识别用户拥有控制权,会话 ID 被插入到数据库中,以使用该用户 ID 进行验证。这是好习惯吗?会话 ID 有多独特?

4

2 回答 2

1

会话 ID 保证在当前使用的 ID 空间中是唯一的。基本上,所有当前会话都有一个唯一的 id。

这确实意味着您不能仅依赖会话 ID 来处理会话(当您这样说时似乎很明显)。我建议做一些事情,比如散列当前时间,并使用它为文件提供一个唯一的 id。

于 2012-07-23T23:07:59.713 回答
0

我会创建一个不同的唯一 ID,将其存储在会话和数据库中。一些框架和库出于安全目的在每个请求上重新生成会话 ID,因此假设它们在用户会话期间永远不会改变是不好的。使用会话 ID 唯一可以确定的是它肯定是唯一的。

于 2012-07-23T23:06:44.253 回答