我将 mysql 与 node.js 一起使用。像这样的东西:
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
user : 'me',
password : 'secret',
database : 'my_db'
});
connection.connect();
我只是想知道在服务器中硬编码数据库凭据(用户和密码)是否不会损害安全性。
如果确实如此,那么更好的方法是什么?
处理此问题的最佳方法是将您的凭据存储在环境变量中。然后,您可以像这样访问您的凭据:
var mysql = require('mysql');
var connection = mysql.createConnection({
host : process.env.DB_HOST,
user : process.env.DB_USER,
password : process.env.DB_PASS,
database : process.env.DB_NAME
});
connection.connect();
然后您可以使用像 dotenv 这样的库来设置环境变量。您可以将环境变量放在 .env 文件中,该文件不随应用程序一起分发,并且不在版本控制中。 .env 示例可能如下所示
DB_NAME=my_db
DB_HOST=localhost
DB_PASS=secret
DB_USER=me
https://www.npmjs.com/package/dotenv https://www.npmjs.com/package/dotenv- 有关使用 dotenv 的更多信息,请参阅此链接,并对应用程序中的 12 因素安全性进行一些研究:)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)