在Node.js文件中存储密码是否安全?

时间:2019-09-07 13:48:52

标签: node.js security heroku server passwords

我已经在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'));
});

1 个答案:

答案 0 :(得分:1)

在此示例中,您的JavaScript文件将在服务器上运行,并将响应发送给用户。只要您在响应中发送的index.html也不包含密码,就可以了。

但是,Heroku提供了一个better way to configure applications,它特别适合于诸如密码之类的敏感信息。更新您的代码以从环境获取密码:

const password = process.env.PASSWORD;

并在Heroku上设置环境变量:

heroku config:set PASSWORD=mysecretpassword

您还可以在本地使用环境变量,但是请注意,它们将与您在Heroku上设置的环境变量不同。毕竟,它们是特定于环境的。像dotenv之类的方法可以提供帮助。