JScript - ODBC连接:可以不用明文写密码

时间:2014-03-28 10:09:31

标签: database security jscript

我最近不得不编写我的第一个JScript,它需要一些数据库连接。

我写了类似

的内容
var conn = new OdbcConnection();
conn.ConnectionString = "Driver={Somedriver};"
                      + "System=IPNUMBER;"
                      + "Uid=SOMEUID;"
                      + "Pwd=supersecret;"

最后一行让我真的感到不舒服 - 编写pw明文远非最佳做法。通过教育,我是一名数学家,没有程序员,我想知道两件事:

  • 是否可以不用明文写pw?
  • 如果是 - 怎么样?

1 个答案:

答案 0 :(得分:3)

密码必须以某种方式恢复,并在运行时使用脚本可用的数据。因此,您当然可以包含某种混淆方案,使得密码在脚本中不那么明显,但最终它并没有为您提供任何帮助 - 只要脚本可以读取信息,它就可以了。对已获得该脚本的攻击者可读。

通常的答案是将密码放在脚本之外,放在一个可由脚本代码读取的单独文件中。实际上,将所有特定于部署的详细信息(如数据库连接字符串)拆分为单独的文件(通常是配置文件或调用存根)是个好主意,因此您可以与部署详细信息分开管理代码逻辑。

在服务器应用程序方案中,您可以锁定配置文件的权限,以便只有管理员和服务用户才能读取它;在客户端应用程序方案中,您可以要求每个用户获取自己的数据库凭据。无论哪种方式,由于脚本本身现在只包含逻辑,因此可以安全地分发它并使用源代码存储库对其进行管理。