【发布时间】:2010-12-30 19:12:06
【问题描述】:
假设我们有一个包含敏感密码的配置文件。我想对整个项目进行版本控制,包括配置文件,但我不想分享我的密码。
这可能很好,如果这个配置文件:
database_password=secret
foo=bar
变成
database_password=*
foo=bar
vcs 的其他用户也可以自行设置密码。忽略该文件不是一个好方法,开发人员应该注意,如果配置文件发生更改。
示例:
本地版本:
database_password=own_secret
foo=bar
vcs 中的配置文件:
database_password=*
foo=bar
然后突然,配置文件发生了变化:
database_password=*
foo=bar
baz=foo
本地版本将适用于每个开发人员:
database_password=own_secret
foo=bar
baz=foo
这是我的解决方案。我怎样才能实现这种行为?你如何存储你的配置文件?有没有办法做到这一点,或者我应该破解一些东西?
【问题讨论】:
-
配置文件不应包含明文密码......
-
事实上,最好不要在配置文件中包含任何类型的密码...除非它是服务器保存的配置,即使那样...
-
@Mitch:我的 PHP webapp(基于 ZF)从纯文本中读取数据库凭证。我应该把它们存放在哪里?
-
你的意思是编程而不是实用?
-
我可以使用 svn 的预提交挂钩来删除我的密码。两者都只能以一种方式工作。我需要某种预同步或预更新挂钩。
标签: svn version-control configuration-files