我在项目中处理敏感信息(例如 API 密钥)的方法是创建一个文件,其中包含一个在私有字段中保存敏感信息的类。然后,我将该文件名放入我的 .gitignore 文件中,这样我就不会意外将该文件推送到我的存储库。通过这样做,我可以在该类中创建方法,这些方法可以在必要时访问该数据,同时保持数据不可检索。
但是,当我查找如何执行诸如从网络表单发送电子邮件之类的操作时,我注意到这些示例中的人们倾向于为此使用环境变量和环境变量文件。这是比我一直在做的更安全的做法吗?如果是的话,为什么?
到目前为止我所做的似乎符合我的喜好,但我想知道我是否使用了最佳实践。
最好不要将此文件提交到版本控制,尽管此解决方案可能无法在生产环境中使用。您计划如何将新的环境变量持续部署到 DigitalOcean 或 AWS 等环境中?这些平台使更改环境变量变得非常简单,而在标准构建管道之外交付源代码似乎是很多不必要的工作。