gpt4 book ai didi

用户帐户的 PHP cookie 和 session 安全性

转载 作者:可可西里 更新时间:2023-11-01 00:50:16 25 4
gpt4 key购买 nike

在研究了使用“记住我”功能制作安全登录表单的方法之后,我遇到了许多关于如何确保其安全的相互矛盾的观点。我希望创建的登录系统不需要高度安全,但我想选择一种安全且简单的方法,我有两个问题。

  1. 应该在 session 变量中存储什么来检查用户是否登录,这只是用户名(或 ID)。如果只是用户名,如果用户发现他们的帐户已被泄露并希望更改密码以阻止恶意用户乱用他们的帐户,会发生什么情况?如果恶意用户有一个 session ,那么即使更改了密码,他们也可以继续恶意直到他们的 session 过期,是否可以避免这种情况 - 也许在密码更改时使所有与该用户名的 session 无效?

  2. 在 (HttpOnly) cookie 中存储密码(使用仅用于 cookie 的盐重新加密)和用户名是否是具有“记住我”功能的足够体面的方式?我听说过数据库存储用户名和随机生成的 key 的方式,这也放在用户 cookie 中。然后,当用户操作发生时,旧 key 将被新 key 替换并提供给用户的 cookie。这种类型的 cookie 安全性是否值得,或者通常的重新加密密码方法是否足够?

最佳答案

通常如果你想记住用户,你会生成一个“ key ”并将其存储在数据库中,然后设置它的“生命周期”(这可以是任何东西,比如 6 小时或 2 天)。您将该 key 存储在 cookie 中(连同用户标识)。现在,每次用户连接到网站时,您都会比较两个 key 。如果数据库中的 key 已超过其生命周期,则生成一个新 key 并将其存储在 cookie 中。因此,如果有人(以某种方式)窃取了 cookie,他将不得不在您再次连接到该网站并重置 key 之前使用它。这是我最常看到的一种方法。

关于用户帐户的 PHP cookie 和 session 安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9116567/

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