在需要打开数据库连接的应用程序中,必须将用户名/密码详细信息发送到数据库。存储和使用这些数据最安全的方式是什么?
答案 0 :(得分:3)
确切的方法取决于环境,但通常,您将凭据存储在只能由运行应用程序的用户读取的位置。例如,在Windows上,您可以将凭据存储在注册表中受ACL保护的位置,以便只有该用户才能读取它。 (可选)您可以使用DPAPI加密数据,以便进一步保护数据。在Unix中,您可以将其存储在受chmod
保护的文件中(并且可选地加密),以便只有应用程序可以读取它。
答案 1 :(得分:2)
这取决于您正在使用的数据库。对于Microsoft SQL Server,您可以加密配置中的数据库连接字符串,也可以使用集成安全性,使用您要连接的应用程序的标识连接到数据库。
答案 2 :(得分:2)
优秀的问题。
这是我们努力解决的一个问题 - 并提出了各种方法。
第一个答案是与1800 INFORMATION的建议一致:
我认为你不会得到比这更好的全面解决方案。
我们玩弄(并拒绝)的其他方法:
答案 3 :(得分:0)
不在您的源代码中,而是在您的应用程序读取的单独文件中。然后使用系统安全性使该文件只能由应用程序用户
读取