对于 Web 应用程序,我想生成一个电子邮件验证链接并将其发送给用户。像在许多公共(public)网站上一样,用户应该点击它来验证他的电子邮件地址。看起来与此类似:
http://www.foo.bar/validation?code=421affe123j4h141k2l3bjkbf43134kjbfkl34bfk3b4fkjb43ffe
任何人都可以帮助我提供一些关于正确生成这些验证 token 的提示吗?谷歌搜索最佳实践比我想象的要困难得多。链接应该:
- ...不需要用户先登录。
- ...不泄露任何登录凭据以确保应用程序安全
- ...让我作为开发人员有效地验证 token 。我很确定我需要一种从代码中提取用户标识符以满足此标准的方法。不是吗?
此外,您会选择保存在某处的随机代码,还是我可以重新计算以进行验证的生成代码?
感谢您的回复!
马蒂亚斯
附:我正在使用 ASP.NET 3.5,以防有开箱即用的功能来执行此操作。
最佳答案
一些帮助您入门的建议:
- 使用 GUID
- 使用某种加盐哈希(MD5、SHA1 等)
- 使用随机字符串(字符越多,发生冲突的可能性越小)
- 将其临时存储在数据库中,并为其添加时间戳,使其在一段时间后过期
关于asp.net - 电子邮件验证链接的生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1125470/