我让它工作到我认为它可用的地步,我对它很满意。
话虽如此,我注意到了一些事情。大多数(如果不是所有)地方都会根据电子邮件或用户名以及X
字符长的自动生成的哈希代码进行验证。我发送给用户的URL如下所示。
http://www.example.com/account/confirm/bob/cbv54c09023DpW
但是,除非用户成功登录,否则您不希望验证帐户。因此,如果点击该URL并且我没有登录,则会强制我在验证之前登录。我的问题是,如果是这种情况,我宁愿通过使用“登录”用户名(或电子邮件)和发送的确认代码来验证帐户。
我问,因为我注意到Twitter和Facebook等网站会发送此类通知,但如果您尝试修改网址(即example.com/account/confirm/sue/cbv54c09023DpW
),它会让您登录,但会告诉您“无法验证Sue的以Bob“或类似名称登录时的帐户。你们是怎么完成这个的?将用户名/电子邮件传递给URL字符串是否有意义?
答案 0 :(得分:0)
为什么不呢?它正在寻找两种数据的组合来确认;因此,安全漏洞的可能性较小。您可以检查他们是否已登录,并检查用户名和身份验证代码是否与数据库数据匹配。
答案 1 :(得分:0)
我只是要发送哈希码