Xml 保护VBA应用程序中来自用户和QA的数据库密码
我们有一个Word VBA应用程序,安装在1000多台计算机上,用户每天都在使用它。此VBA加载项连接到多个数据库,这些数据库的凭据存储在我们提出的自定义xml文件中。我们公司现在不希望将密码以明文形式存储在xml文件中,因为当应用程序安装在用户的机器上时,xml文件也会作为安装的一部分推送到安装文件夹中,一个好奇的用户在挖掘xml时,实际上可以找到数据库的密码。他们希望在一周内实现一项安全功能,而不进行大规模代码更改,这将防止用户和QAs/prod支持人员在测试应用程序时看到这些密码。由于时间有限,我提出了以下想法:Xml 保护VBA应用程序中来自用户和QA的数据库密码,xml,vba,security,ms-word,Xml,Vba,Security,Ms Word,我们有一个Word VBA应用程序,安装在1000多台计算机上,用户每天都在使用它。此VBA加载项连接到多个数据库,这些数据库的凭据存储在我们提出的自定义xml文件中。我们公司现在不希望将密码以明文形式存储在xml文件中,因为当应用程序安装在用户的机器上时,xml文件也会作为安装的一部分推送到安装文件夹中,一个好奇的用户在挖掘xml时,实际上可以找到数据库的密码。他们希望在一周内实现一项安全功能,而不进行大规模代码更改,这将防止用户和QAs/prod支持人员在测试应用程序时看到这些密码。由于时间
<Database-Passwords>
<DB-Name>DB1</DB-Name>
<Username>Username1</Username>
<Password>FakePassword1</Password>
</Database-Passwords>
DB1
用户名1
伪造密码1
在应用程序代码中维护一个键值对列表,其中将有(fakePassword1,RealPassword1)
作为键值对
这将阻止用户知道密码。但是,QAs和Prod支持人员,他们一步一步地检查代码并调试应用程序,仍然可以识别密码。如何克服这一问题?有没有一种方法可以确保密码的安全,使应用程序在代码更改最少的情况下看起来不会工作,但用户/QA将无法破解密码
保护DB密码的最佳方法是将其置于受控访问环境(例如,服务器)中。这意味着您必须创建一个客户机-服务器体系结构。基本上,您将创建一个与服务器连接的客户端应用程序,服务器将与DB“对话”什么是后端数据库?您是执行临时查询还是准备好的查询?它们是否部署在域环境中?它连接到各种数据库。Sybase ASE、IBM DB2、SQL server 2008。查询本身是根据UI选择从另一个xml文件读取的,并针对连接的数据库执行。它更像是即席查询。数据库运行在公司内部托管的生产服务器上。