gpt4 book ai didi

php - 安全邀请用户设置账户的方法

转载 作者:行者123 更新时间:2023-11-29 05:40:51 25 4
gpt4 key购买 nike

我正在开发一个基于 Web 的系统(PHP 和 MySQL),该系统的用户可以登录。问题是所有这些都必须非常安全。现在,我已经阅读了如何存储密码,我们使用加密连接并采取了许多其他安全措施。

我需要解决的最后一个问题是设置帐户(即输入姓名和电子邮件地址)的管理员必须邀请用户加入该应用程序。他需要能够向新用户发送包含链接的生成电子邮件。如果用户单击该链接,他将被带到系统,他将必须设置他的密码。发送此类电子邮件的最佳做法是什么?我知道我应该使用某种包含特定用户信息的散列,以确保页面上的用户实际上是单击链接的用户。我还应该采取哪些其他措施?

或者自动生成一个随 secret 码,将其通过电子邮件发送给新用户并让他在首次登录后更改密码会更好吗?

最佳答案

IMO 最好的方法是不生成密码,而只生成一个随机散列,该散列可以存储在单独的表中或与用户表一起存储。以下可以用作表的结构:

users:
userid
name
email
password //any hashing technique you prefer
isactive //bool always false when user is created

invites:
inviteid
userid
hash
reinvitesent //boolean
senton

现在,无论何时添加用户,信息都会存储在用户表中,并在邀请中生成一个条目。发送的电子邮件包含类似 https://yoursite.com/user/activate.php?userid=x&hash=7a657ab435f4543543543543 的链接如果 userid 和 hash 匹配,您要求用户选择他/她的密码。如果密码更改成功,您将 isactive 更改为 true。

除非 isactive 值为真,否则无法使用用户帐户,即您的查询类型为“SELECT fields FROM users WHERE userid = $userid AND isactive = 1”。您也可以在邀请中使用 senton 值来检查用户是否未接受邀请,然后您可以再次发送包含链接的电子邮件(假设 3 天后)以及拒绝邀请的选项。如果您在 3 天内仍未收到用户的回复,您将自动删除邀请。

关于php - 安全邀请用户设置账户的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6912560/

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