0

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

编辑:可以将其移至https://security.stackexchange.com/吗?

4

1 回答 1

3

可能更适合security.stackexchange.com

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

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

于 2013-05-28T23:33:19.077 回答