我开始编写我的第一个严肃的 Web 应用程序,并且正在考虑如何存储用户名和密码信息。有很多文章详细说明了存储纯文本密码是一个非常糟糕的主意,而加盐加密密码是要走的路。但是,我几乎找不到关于限制对用户数据本身的访问的信息。
我正在考虑一种情况,即我的 Web 应用程序遭到入侵,攻击者可以从我的数据库中读取任何信息。即使我使用加密密码存储用户名,攻击者也能够从数据库中提取所有用户名(但至少他们不会得到密码)。但是,我可以限制访问,因此即使我的应用程序也无权访问这些数据。我正在考虑阻止我的数据库用户使用用户名和密码查看表。然后,您可以通过获取用户名和密码的存储过程授予访问权限 - 如果找到带有密码的用户名,则返回 true,或者显示散列用户名和密码的视图,因此即使受到损害,也无法找到真实的用户名.
鉴于我是新手,而且我找不到任何推荐类似内容的文章,我猜我错过了一些简单的东西,使上述想法不安全。
谢谢。