gpt4 book ai didi

node.js - 使用 sails.js 时如何安全地存储连接字符串

转载 作者:搜寻专家 更新时间:2023-10-31 23:00:54 24 4
gpt4 key购买 nike

我在 config\adapters.js 中有一个数据库连接字符串,如下所示。我不想以纯文本形式保留连接字符串。保护该信息和服务可以调用和连接到数据库的最佳方法是什么?

module.exports.adapters = {

// If you leave the adapter config unspecified
// in a model definition, 'default' will be used.
'default': 'mssql',

mssql: {
connectionString: 'Driver={SQL Server Native Client 10.0};Server=foo.domain.com;Database=RODDY;Uid=jsmith;Pwd=nw0ow21',
module: 'sails-mssql'
}

};

最佳答案

所有其他答案都是很好的答案,这是另一种方法。

设置一个名为 SQL_STRING 之类的环境变量..

这假设您使用的是 ubuntu..

#edit /etc/profile or ~/.profile
vim /etc/profile;
#add this line to it.
export SQL_STRING=<insert your sql string>

现在在你的 config/local.js 文件中为 connectionString: 添加这个

connectionString: process.env.SQL_STRING

这会将连接字符串加载为环境变量。这将做两件事,

  1. 如果需要,您现在可以将 local.js 提交到您的存储库,无论您在哪里部署应用程序,它都会继承 env 变量设置的内容。这对于开发环境等非常有用。

  2. 从您的应用程序文件中删除安全数据,这样就没有人可以窥视它们,他们必须进行一些挖掘才能获取实际数据。

我目前在 sailsjs 应用程序的生产环境中执行此操作,我有一个特殊的 sails 用户,它有一个 ~/.profile 以及我所有的 MAILGUN、db 和其他定义为环境变量的凭证数据。此用户被限制使用 sudo、ssh 访问,并且被锁定只能访问一个或两个文件夹。

实际上,只有 root 和该用户才能看到这些环境变量。

关于node.js - 使用 sails.js 时如何安全地存储连接字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21418799/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com