我已经根据dotenv文档创建了一个.env文件,并将我所有的秘密API密钥放置在该文件中。我还将这些环境变量作为配置变量添加到了我的Heroku实例中。结果,我的源代码中不再引用秘密的API字符串。
但是,由于git repo设置为private,并且我是它的唯一所有者,所以我没有git。忽略.env文件,但是我已经忽略了.env文件,以防止将其推送到Heroku中。
我的理由是不gitignore .env文件是安全的吗?我采取合理和标准的措施来保护我的秘密API字符串的步骤是否正确?如果没有,我该如何改进我的设置以提高Web应用程序的安全性?
答案 0 :(得分:0)
.env
中的信用与您在heroku应用程序中的信用是否相同?
如果是这样,那就不好了。
有权访问您的GitHub帐户的人也可以访问您的Heroku应用程序中的凭据。看看这个Gentoo retrospective,这就是让他们的GitHub组织受到威胁的确切原因。
您的.env
文件应仅具有本地设置。例如,它应调用localhost
作为数据库,而不是生产数据库URL。
然后,一旦一切脱离生产,就可以安全地将此文件检入到存储库中。可以访问您的代码的人将无法访问您的生产数据。