将密码存储在 Node.js 文件中是否安全?
Is it safe to store a password in a Node.js file?
我已经将一个简单的应用程序部署到 Heroku,其中包含一个 JavaScript 文件,通过 Express 为 HTML 页面提供服务。该代码是从私人 Git 仓库中提取的。
现在,我在这个 JavaScript 文件中存储了一个密码,我的问题是:用户能否找到该密码?它仅用于从节点向外部资源发出的请求。
这是我提供页面的服务器端 JavaScript 代码的一部分:
const app = express();
const express = require('express');
const password = ******:
app.use(express.static(__dirname + '/dist/shop-info-angular'));
app.get('/', function (req, res) {
res.sendFile(path.join(__dirname + '/dist/shop-info-angular/index.html'));
});
在此示例中,您的 JavaScript 文件将 运行 在服务器上,并且只将响应发送给用户。只要您在回复中发送的 index.html
不包含密码,您应该没问题。
但是,Heroku 提供了一个 better way to configure applications 特别适合密码等敏感信息。更新您的代码以从环境中获取密码:
const password = process.env.PASSWORD;
并在 Heroku 上设置环境变量:
heroku config:set PASSWORD=mysecretpassword
您也可以在本地使用环境变量,但请注意,它们与您在 Heroku 上设置的环境变量不同。毕竟,它们是 环境 特定的。 dotenv
之类的东西可以提供帮助。
我已经将一个简单的应用程序部署到 Heroku,其中包含一个 JavaScript 文件,通过 Express 为 HTML 页面提供服务。该代码是从私人 Git 仓库中提取的。
现在,我在这个 JavaScript 文件中存储了一个密码,我的问题是:用户能否找到该密码?它仅用于从节点向外部资源发出的请求。
这是我提供页面的服务器端 JavaScript 代码的一部分:
const app = express();
const express = require('express');
const password = ******:
app.use(express.static(__dirname + '/dist/shop-info-angular'));
app.get('/', function (req, res) {
res.sendFile(path.join(__dirname + '/dist/shop-info-angular/index.html'));
});
在此示例中,您的 JavaScript 文件将 运行 在服务器上,并且只将响应发送给用户。只要您在回复中发送的 index.html
不包含密码,您应该没问题。
但是,Heroku 提供了一个 better way to configure applications 特别适合密码等敏感信息。更新您的代码以从环境中获取密码:
const password = process.env.PASSWORD;
并在 Heroku 上设置环境变量:
heroku config:set PASSWORD=mysecretpassword
您也可以在本地使用环境变量,但请注意,它们与您在 Heroku 上设置的环境变量不同。毕竟,它们是 环境 特定的。 dotenv
之类的东西可以提供帮助。