作为一个没有CS学位的新手,很难将最佳实践与约定与安全风险区分开来。
我在rails应用程序中结合使用secrets.yml和.rbenv-vars,因为这似乎很容易。我知道我可以用像Figaro这样的东西来做同样的事情,但是什么是最好的实践和最安全的呢?对于开发,我只是将我的键放在secrets.yml中,并使用env-vars作为生产设置。
有人能解释一下使用env-vars而不是仅仅使用secrets.yml的原因吗?那么链接是受欢迎的) 2)哪一种是最佳实践和共同惯例?
发布于 2016-05-27 15:25:25
两者都是共同的地方。从安全的角度来看,如果有人能够访问您的环境变量,他们可能会访问您的代码。一旦您的代码运行,无论哪种方式,这些值都在内存中。
您将看到,默认情况下,secrets.yml配置为从生产环境中获取SECRET_KEY_BASE:
production:
secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>这样做的一个很好的原因是应用程序要在生产中运行。具有此功能可以更改密钥,并重新启动应用程序,而无需修改任何文件。对于运行在Cloud、Heroku等中的应用程序来说,这非常方便。
https://stackoverflow.com/questions/37486174
复制相似问题