我看到很多人正在使用这个模块来使用Node和mysql数据库:node-mysql
在我读到的所有内容中,人们都在js文件中以纯文本形式存储他们的密码和用户名。 Javascript文件可以很容易地阅读,所以这不是一件可怕的事情吗?
以下是docs中的连接代码:
var connection = mysql.createConnection({
host : 'localhost',
user : 'me',
password : 'secret'
});
我是否错过了一段不允许人们以纯文本格式查看服务器上的JS文件,完全可用的密码?
答案 0 :(得分:1)
无法将密码存储在带加密的mysql连接中。但是,您永远不应该在发送给访问者PC的文件中输入您的密码。包含登录凭据等所有文件都必须保存在服务器上。 如果你想向访问者展示一些mysql内容,你可以用一个小的api实现这一点,必须用js / php编程。
但如果理解正确,你只想在命令行中使用nodejs运行这个javascript。那么你没有其他解决方案来存储它而不加密,也不会将访问此服务器给别人。
答案 1 :(得分:1)
我通常会让应用程序在启动时提示您输入mysql密码。这会将密码保留在服务器上的文件之外。您也可以将此作为参数传递给脚本或设置环境变量。
将密码保留在文件系统中,但不允许您自动启动应用程序...这是一种权衡