使用特殊代码确认新用户注册



当有人在我的网站上注册时,他将收到一个确认链接,让他完成注册。我的想法是使一列在表"用户"随机生成的数字。接下来,我发送一个链接到用户的电子邮件,示例链接:http://example.com/confirm.php?user=newuser&code=54355345534
当他点击它,它检查他的登录和号码链接与表用户的号码。
它工作正常,但我需要额外的列。这是个好主意吗?我的第二个想法是,用Salt作为确认码,这样到底好不好?

编辑:是否可以移动到https://security.stackexchange.com/?

这个可能更适合security.stackexchange.com。

话虽如此……创建一个新表,将"未经验证"的用户id映射到一个大的随机数(可能是UUID),然后通过电子邮件发送给用户,这有什么问题?该解决方案的成本应该是最小的,所以我不明白您为什么要费力实现其他任何东西。

发送盐应该没有任何实际问题,但这取决于你如何生成盐;理论上,只要你使用的是一个好的PRNG,这应该没问题。否则,这可能是一个问题:例如,如果您使用顺序计数器或时间戳作为盐值的生成器,那么这就不太好了。问题不在于您泄露了盐本身,而在于您泄露的信息可以让恶意用户"猜测"下一个验证令牌是什么,这意味着他们可以在没有有效电子邮件地址的情况下验证他们的帐户。

最新更新