如何在node.js中隐藏mysql数据库的连接细节?

chhkpiq4  于 12个月前  发布在  Mysql
关注(0)|答案(2)|浏览(147)

我刚开始在node.js中使用mysql,我正在设置我的app.js项目,我试图隐藏我的连接详细信息,如我的ip,用户名,pw和db名称。我不知道如何隐藏我的连接详细信息,所以这就是我在这里的原因。
我尝试在我的.profile中添加详细信息,但我一直得到一个身份验证错误。但是,当我在我的常规app.js文件中包含这些相同的连接详细信息时,它可以工作并连接到数据库。
以下是我的app.js文件中显示的内容:

var connection = mysql.createConnection({
              host     : 'my.ip.address.info',
              user     : 'username',
              password : 'password',
              database : 'databaseName'
            });
console.log('Connected');
connection.connect();

字符串
我只是想隐藏我的连接详细信息,这样当我的网站在未来上线时,它就不会被窥探。我知道将这些连接详细信息留在我的app.js文件中是不正确的,所以这就是为什么我寻求帮助!

gudnpqoy

gudnpqoy1#

您可以创建一个.env文件来设置环境变量,并使用dotenv包在process.env中显示它们。
https://github.com/motdotla/dotenv#readme
创建一个文件,将其命名为.env,并将变量设置为.env

host=my-ip-address-info
user=username
password=password
database=databaseName

字符串
然后,您可以访问它们,如:

var connection = mysql.createConnection({
          host: process.env.host,
          user: process.env.username,
          password: process.env.password,
          database: process.env.database
        });


您必须使用以下内容启动应用程序:
node -r dotenv/config your_script.js
或将以下内容添加到入门脚本的顶部
require('dotenv').config();
我更喜欢第一种方法,因为这些环境变量应该由主机提供程序设置,所以代码中不需要require语句。

ctzwtxfj

ctzwtxfj2#

我用dotenv

yarn add dotenv

字符串
在项目的根目录中创建.env文件

host=my.ip.address.info
user=username
password=password
database=databaseName


然后从你的代码

require('dotenv').config();

let host = process.env.host;


不要将.env文件提交给公共存储库。

相关问题