gpt4 book ai didi

php - 当用户再次访问同一页面时让用户保持登录状态?

转载 作者:可可西里 更新时间:2023-11-01 13:46:34 24 4
gpt4 key购买 nike

目前我正在使用 session 来登录用户。但是当我关闭浏览器并再次打开它时,我必须重新登录。你如何让用户登录让我们说 2 周。

那么是通过 cookie 吗?

最佳答案

所以您想要“在此计算机上记住我”选项?这是一种与语言无关的方法:

  1. 创建至少包含 cookie_iduser_id 列的数据库表。如有必要,还可以添加 cookie_ttlip_lock。我想列名不言而喻。
  2. 在首次登录时(如有必要,只需选中“记住我”选项),生成一个长的、唯一的、难以猜测的 key ,代表 cookie_id 并将其存储在DB 以及 user_id。还将其存储为具有之前指定的 cookie 名称的 cookie 的 cookie 值。例如。 记住。给 cookie 一个长的生命周期,例如一年。
  3. 在每次请求时,检查用户是否已登录。如果没有,则检查与 cookie 名称相关联的 cookie 值 cookie_id 记住。如果它存在并且根据数据库有效,则自动登录与 user_id 关联的用户并再次推迟 cookie 年龄。

至于安全风险,如果 key 足够长且足够混合(至少 30 个混合字符),则暴力破解登录的机会可以忽略不计。更进一步,您可能已经了解了可选列 ip_lock 的用途。它应该代表用户的 IP 地址。您最终可以添加一个额外的复选框“锁定登录到此 IP(仅当您拥有静态 IP 时)”,以便服务器可以使用用户的 IP 地址作为额外验证。

如果有人在没有 IP 锁定的情况下劫持了用户的 cookie 值怎么办?好吧,对此没有什么可做的。忍受它。 “记住我”对于每个论坛来说都很有趣,帐户劫持在那里不会造成太大伤害,但我肯定不会将它用于管理面板和控制服务器端内容的那种网页。

毕竟这很简单。祝你好运。

关于php - 当用户再次访问同一页面时让用户保持登录状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1877242/

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