正在发送ASP。Net Identity在电子邮件中以某种方式给最终用户造成了安全漏洞?例如,黑客能从中收集到任何有意义的东西来攻击我的应用程序吗?
详细信息
我已经设置了一个应用程序,可以根据要求向最终用户发送密码重置电子邮件。除了重置密码的标准链接外,我还发送了另一个链接,告诉用户如果未请求重置密码,请单击该链接。当点击另一个链接时,我会在数据库中记录有关该事件的详细信息,为了防止双击,我想使用安全戳进行检查。保存这些信息后,我立即重置有问题的用户的安全戳。
这取决于您如何实现安全戳。
默认标识只生成一个戳的GUID。在这种情况下,它的安全性不亚于公开用户的ID。作为一个相关的问题,你希望确保没有人可以从外部操纵印章。
如果你的印记是经过计算的,并且它使用了用户身份的一部分(如电子邮件、角色、姓名),你需要确保它是散列的。
这是一个秘密,除非您更改了安全邮票的发行方式。
用户的UserId和安全戳被加密到应用程序Cookie中。您暴露的此cookie中的任何数据都会暴露出可能帮助攻击者破解您在服务器上使用的密钥的信息。在我们的应用程序中,我们从不公开用户ID,这是最容易泄露的信息,但我们绝对不会公开安全戳。
也就是说,如果攻击者没有确定你的密钥,他们将很难提供伪造的安全戳——除非你不仅暴露了它,而且还读取了你暴露的值。这样就很容易攻击你的网络应用程序。