对于我们开发的许多网站,我们会验证用户的电子邮件地址。通常工作流程是这样的:
- 用户注册网站(激活电子邮件发送链接以激活)
- 用户验证电子邮件地址(通过单击上述链接)
- 用户必须登录网站才能使用它(假设他们尚未登录)
客户经常抱怨这个过程笨拙且有些混乱,我同意。建议的解决方案是删除第 3 步并在第 2 步之后自动登录用户。
我不确定这是否重要(因此是问题!),但我一直对像这样自动登录用户持谨慎态度。在实施建议的解决方案之前,我应该考虑哪些额外的安全风险?
这也适用于密码重置等情况,用户可能会自动登录,然后更改密码。
为了这个问题,我们假设验证电子邮件是一项硬性要求。我知道在某些情况下这是不必要的,但让我们来谈谈那些情况。