我已经在 Heroku 上部署了一个简单的应用程序,其中包含一个通过 Express 提供 HTML 页面服务的 JavaScript 文件。该代码是从私有(private) Git 存储库中提取的。
现在,我的 JavaScript 文件中存储了一个密码,我的问题是:用户可以找到该密码吗?它仅用于从 Node 向外部资源发出的请求。
这是我提供页面的服务器端 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
可以提供帮助。
关于node.js - 将密码存储在 Node.js 文件中安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57834286/