首页 > 解决方案 > 如何改进管理 Heroku 上托管的 NodeJS 应用程序的秘密 API 密钥的方式

问题描述

我已经根据dotenv文档创建了一个 .env 文件,并将我所有的 API 密钥都放在了文件中。我还将这些环境变量作为配置变量添加到我的 Heroku 实例中。因此,我的源代码中不再引用秘密 API 字符串。

但是,我没有 gitignored .env 文件,因为 git repo 设置为私有并且我是它的唯一所有者,但是我已经 slugignored .env 文件以阻止它被推送到 Heroku。

我有理由不 gitignore .env 文件安全吗?我正在采取合理和标准的做法来保护我的秘密 API 字符串吗?如果没有,我还能如何改进我的设置以提高我的网络应用程序的安全性?

标签: node.jssecurityherokuenvironment-variablessecret-key

解决方案


.env在 Heroku 应用程序上的信誉是否相同?如果是这样,这很糟糕。

访问您的 GitHub 帐户的人也可以访问您的 Heroku 应用程序中的凭据。看看这个Gentoo 回顾展,他们​​的 GitHub 组织遭到入侵正是发生的事情。

您的.env文件应该只有本地设置。例如,它应该localhost作为数据库调用,而不是您的生产数据库 URL。

然后,一旦一切都与生产分离,这个文件就可以安全地签入您的存储库。访问您的代码的人将无法访问您的生产数据。


推荐阅读