我已经在Heroku上部署了一个简单的应用程序,其中包含一个JavaScript文件,可通过Express为HTML页面提供服务。该代码是从私有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'));
});
答案 0 :(得分:1)
在此示例中,您的JavaScript文件将在服务器上运行,并将响应发送给用户。只要您在响应中发送的index.html
也不包含密码,就可以了。
但是,Heroku提供了一个better way to configure applications,它特别适合于诸如密码之类的敏感信息。更新您的代码以从环境获取密码:
const password = process.env.PASSWORD;
并在Heroku上设置环境变量:
heroku config:set PASSWORD=mysecretpassword
您还可以在本地使用环境变量,但是请注意,它们将与您在Heroku上设置的环境变量不同。毕竟,它们是特定于环境的。像dotenv
之类的方法可以提供帮助。