gpt4 book ai didi

PHP session ID 唯一性(用于 cookie)

转载 作者:行者123 更新时间:2023-11-29 04:03:49 24 4
gpt4 key购买 nike

我正在编写一个用户系统,用户将在其中使用 Twitter 的 API 登录,然后我将信息连同我让用户输入的一些额外信息一起存储在数据库中。我希望用户能够登录后返回,而不必再次登录。我决定获取有关用户的所有相关信息,将其保存到数据库中,然后将 session ID 和用户 ID 保存到另一个表中。最后,我会在用户的计算机上设置一个包含相同 session ID 的 cookie,以便在他们浏览期间保持登录状态。然后,如果他们关闭浏览器并稍后重新访问该站点,我会读取该 cookie,进行比较使用 session 表,获取用户 ID,并重建 session (使用新 session ID 更新 session 表)。

我的问题是, session ID 的随机性如何?用户是否有可能获得与一周内未访问该站点的用户(因此 cookie 仍处于事件状态)分配给他们的 session ID 相同的 session ID?如果发生这种情况,则服务器可能会将新用户误认为旧用户。我真的很想避免使用 IP 地址,因为人们可能会从移动浏览器访问该网站,而 IP 可能随时更改。

对此有什么想法吗?我只是想确保用户 A 和用户 B,无论相隔多长时间,都不会获得相同的 session ID。

最佳答案

将当前时间(以微秒为单位)附加到唯一 ID...

session_id() + microtime();

因此,不仅 session_id 必须相同,而且还必须在同一微秒内发生……使得几乎不可能消失的可能性几乎不可能。 100% 保证它的唯一方法是根据所有现有 session ID 检查此随机值,如果它已经存在则重新滚动它。

关于PHP session ID 唯一性(用于 cookie),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5542250/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com