如何以纯文本格式存储我的节点mysql密码?

时间:2014-12-08 21:02:46

标签: javascript mysql node.js node-mysql

我看到很多人正在使用这个模块来使用Node和mysql数据库:node-mysql

在我读到的所有内容中,人们都在js文件中以纯文本形式存储他们的密码和用户名。 Javascript文件可以很容易地阅读,所以这不是一件可怕的事情吗?

以下是docs中的连接代码:

var connection = mysql.createConnection({
    host     : 'localhost',
    user     : 'me',
    password : 'secret'
});

我是否错过了一段不允许人们以纯文本格式查看服务器上的JS文件,完全可用的密码?

2 个答案:

答案 0 :(得分:1)

无法将密码存储在带加密的mysql连接中。但是,您永远不应该在发送给访问者PC的文件中输入您的密码。包含登录凭据等所有文件都必须保存在服务器上。 如果你想向访问者展示一些mysql内容,你可以用一个小的api实现这一点,必须用js / php编程。

但如果理解正确,你只想在命令行中使用nodejs运行这个javascript。那么你没有其他解决方案来存储它而不加密,也不会将访问此服务器给别人。

答案 1 :(得分:1)

我通常会让应用程序在启动时提示您输入mysql密码。这会将密码保留在服务器上的文件之外。您也可以将此作为参数传递给脚本或设置环境变量。

将密码保留在文件系统中,但不允许您自动启动应用程序...这是一种权衡