gpt4 book ai didi

mysql - 如何在node.js中隐藏mysql数据库的连接详细信息?

转载 作者:行者123 更新时间:2023-11-29 15:42:23 25 4
gpt4 key购买 nike

我刚刚开始在 node.js 中使用 mysql,我正在设置我的 app.js 项目,并且我试图隐藏我的连接详细信息,例如我的 ip、用户名、密码和数据库名称。我不知道如何隐藏我的连接详细信息,所以这就是我来这里的原因。

我尝试在 .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 文件中并不是正确的做法,所以这就是我寻求帮助的原因!

最佳答案

您可以创建一个 .env 文件来设置环境变量,并使用 dotenv 包将它们显示在 process.env 中。

https://github.com/motdotla/dotenv#readme

创建一个文件并将其命名为 .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 语句。

关于mysql - 如何在node.js中隐藏mysql数据库的连接详细信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57470659/

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