flask中关键信息存在环境变量中比存在config文件中要安全吗?

flask那本书上都是这么用的,想问实际开发中有没有必要,如果存在环境变量中,无疑增加了部署成本,但是安全性真的比存在config文件中高吗?

阅读 4.5k
4 个回答

当时看这个的时候我也很疑惑,后来看到一篇文章是这样说的:

优秀的项目应该保持配置和代码分离。辨别的方法就是,如果现在马上把你的代码开源,其中会不会有敏感信息泄漏的风险。

我个人认为,对于配置放在环境变量这事,主要还是有利于开源项目,不会因为疏忽push了含有敏感信息的配置文件;对于闭源项目,意义不大,如果源代码能泄漏,那么敏感配置信息也能泄漏。

是的,比存在 config 文件中安全。

这里的关键点,是“敏感信息”不要随源代码存放,因为源代码是很容易传播的。
所以,如果你的配置文件不是随源代码一起的,而是在部署阶段另行处理,那跟使用环境变量是一回事。

实际上都不安全,只要入侵了你的服务器关键信息就泄露了。当然,总比源码泄露安全那么一点。

如果配置文件只是一个存储在服务器的配置文件,那安全性和环境变量基本没有差别,使用config 最大的风险应该是没有注意把代码提交到github或者其它公开的代码托管网站

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题