【发布时间】:2020-12-20 04:27:21
【问题描述】:
我已经注册了一个 GitHub 帐户来测试他们的电子邮件验证过程。所以:
-
他们向我发送了一封包含链接的电子邮件,其中包含我的用户名和 40 个字符的代码,例如: https://github.com/users/USERNAME/emails/120066679/confirm_verification/47889d71648523e5d99db5b969f59809c2715fb6
-
我没有点击链接
-
4 天后,我又给我发了一封(提醒)我必须验证我的电子邮件,其中包含另一个不同的 40 字符代码的链接
那么,更改 40 字符代码的目的是什么?我记得,其他服务无论如何都会使验证码过期。如果验证链接中已经有用户名,真的需要这样做吗?在暴力破解的情况下,我可以只计算与特定用户相关的失败尝试并阻止它,对吗?
附:同样有趣的是,链接中emails/120066679 的目的是什么? (这两个字母相似)
【问题讨论】:
-
您知道他们是否会过期链接、何时过期以及重放攻击的后果是什么?您正在做出假设,它们可能与 Github 考虑的威胁模型相匹配,也可能不匹配。
-
我投票结束这个问题,因为这是一个关于安全实践的问题,而不是help center 定义的编程问题。你应该在 Security.SE 上提出这个问题。
标签: email security authentication email-verification