我一直在开发一个使用 MS Access 和 ODBC 连接到 SQL 服务器的程序。其中一项要求是用户不需要知道连接到 SQL 服务器的密码,因此我在链接我的 SQL 表时选中了“保存密码”复选框。
有谁知道密码的存储位置以及执行此操作时的安全性?
我一直在开发一个使用 MS Access 和 ODBC 连接到 SQL 服务器的程序。其中一项要求是用户不需要知道连接到 SQL 服务器的密码,因此我在链接我的 SQL 表时选中了“保存密码”复选框。
有谁知道密码的存储位置以及执行此操作时的安全性?
我想指出,问题第二部分的答案与第一部分几乎没有关系。
即使密码以超强加密方式存储(不是),这在几个方面仍然不安全。
你最好重新设计应用程序,使用中间层等等......
我总是觉得在同一个对话中 讨论security
很奇怪......MS Access
如果您绝对无法更改架构,请考虑使用集成 Windows 身份验证,并将用户帐户(或组)绑定到 db 角色进行管理。这样,至少每个用户在服务器上都有自己的账号,可以限制访问(根据最小权限原则),没有共享账号,并且可以跟踪每个用户对数据库的操作。
可以通过在您的 Windows 机器上启动 odbcad32.exe 并与对话框交互来解决 ODBC 密码详细信息。我认为您正在寻找的详细信息可以在 ACC2000 的最后几段中找到:No Password Prompt Appears When Using Microsoft Access .MDB with ODBC
这是 google 在查看一般保存 ODBC 密码的位置时的第一个结果。
事实证明,它们以明文形式存储在 Windows 注册表中。打开regedit
并查看以下内容:
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI