【发布时间】:2012-02-25 04:56:50
【问题描述】:
我正在开发一个网络应用程序。它是基于 PHP 的,带有 Apache Web 服务器。
在生产服务器中,应用程序会从 Windows 环境变量中提取一些“敏感”信息,例如数据库密码和数据库用户名。这样做不是将信息放入应用程序内的配置文件中。
我自己一直在使用配置文件,所以我考虑了优点/缺点。我看不出以他们的方式做这件事有多大好处,但我确信我没有正确地考虑它。
这是我的看法:
缺点
任何可以访问 windows 机器的人都可以直接进入 windows 环境变量并查看它们。
如果不关闭服务器,就无法更改信息。在某些情况下,我们更改了环境变量并且必须完全关闭 apache 才能完全重新加载新值。
优势
当从 dev 转移到 qa 到 prod 机器时,不必更改应用程序配置文件,因为每个服务器都已在环境变量中设置了必要的数据。 (我不必“记住”使用正确的配置文件,因为已经为每个服务器设置了环境变量)。
可以加强安全性,因此只有管理员才能真正看到环境变量。不确定 Windows 是否可以这样做,但我确定有一些注册表编辑可以允许这样做。
你的观点是什么?
【问题讨论】: