当前位置: 首页 > 面试题库 >

如何最好地存储用户信息以及用户登录名和密码

索正豪
2023-03-14
问题内容

我使用的是Mysql,我假设最好将用户的个人信息以及他们的登录名和密码分成两个不同的表,然后在两个表之间进行引用。

注意
:为弄清楚我的帖子,我了解保护密码(哈希,盐等)的技术。我只知道,如果我遵循生活中其他部分的做法(投资,数据备份甚至是个人存储),那么在最坏的情况下(包括表或火灾),将信息分散在表之间可能会保护您其他数据。


问题答案:

不要存储密码。如果它曾经位于磁盘上,则可能被盗。而是存储密码哈希。
使用正确的哈希算法,例如bcrypt(包含盐)。

编辑 :OP已答复他了解上述问题。

无需将密码存储在与登录名不同的表中。如果一个数据库表受到威胁,则访问同一数据库中的另一个表并不是很大的飞跃。

如果您充分关注安全性和深度安全性,则可以考虑将用户凭据存储在与域数据完全独立的数据存储中。通常采用的一种方法是将凭据存储在LDAP目录服务器中。这也可能对您以后进行的任何单点登录工作有所帮助。



 类似资料:
  • 我正在使用C#上的新MIP SDK构建POC应用程序。其中一个要求是使用存储在服务器上的用户名/密码。所有示例应用程序都使用OAuth2登录,并带有一个用于用户凭据输入的弹出窗口。我相信正确实现IAuth代表团可能会有所帮助,但内联留档没有多大帮助。在我的引擎初始化方法中,我遵循SDK示例 AuthDelegateImplementation具有以下代码 谢谢你的帮助,C。

  • 我最近才开始使用firebase工作,我似乎不知道如何让用户用电子邮件、用户名和密码注册,这样以后用户就可以只用用户名和密码登录,我可以用电子邮件和密码登录,但我不知道如何用用户名和密码登录,简单的解释是赞赏的,因为我是新的,谢谢!

  • 我正在构建一个Java Web应用程序,当经理批准他们的请求时,它会自动授予用户对其Windows PC的管理权限。 为了实现这一点,我将编写一个脚本来自动远程访问用户的计算机,并将他们添加到计算机的管理组中。我想为了做到这一点,我需要一个管理服务帐户来访问所有的计算机。 我的问题是,我如何安全地存储管理服务帐户信息?应用程序每次需要访问并授予用户管理员权限时都需要凭据,那么我如何让应用程序在没有

  • 问题内容: 我需要输入USER表的USER_ID字段作为另一个表中的外键。因此,我认为我需要在用户登录时启动一个会话。我很难让它在任何地方回显。我能够启动一个会话,该会话允许我回显USERNAME,但无法将其复制为ID。 请帮忙吗?我的处理代码如下。我还粘贴了本节,我暂时尝试对其进行回显以进行测试。 处理脚本: 我希望USER_ID出现在哪里: 问题答案: 使用FETCH_ASSOC而不是FETC

  • 目前,我正在使用以下内容将用户登录到我的应用程序中。然而,我想使用一个角函数来实际执行登录。为此,我想创建一个Rest网络服务来进行身份验证,但是我在SO上看到的所有示例都使用我认为被贬低的用户。我还希望该服务返回有关用户的信息。 我要问的是如何将MyUserDetailsService更改为用作登录的restful服务,或者如何创建一个可用于登录的服务,该服务将在登录后返回用户对象。 这是我的a

  • cmf_get_current_user() 功能 获取当前登录的前台用户的信息,未登录时,返回false 参数 无 返回 array:用户信息;false表示未登录;