Symfony1 在Symfony中对未经授权的用户隐藏生产密码

Symfony1 在Symfony中对未经授权的用户隐藏生产密码,symfony1,Symfony1,当我们还是一个由值得信赖的开发人员组成的小团队时,Symfony为我们工作得很好。然而,现在我们需要更多的人来帮助,这导致了在管理源代码管理中检查的生产密码时出现问题 我在Symfony配置文件中存储了数据库的生产密码、API密钥等,我不希望所有开发人员都能访问这些文件。如何对未经授权的开发人员隐藏这些密码,但仍然允许他们访问源代码?如果您已经在使用版本控制:第一步应该是从版本控制系统的历史记录中删除所有密码。祝你好运;-) 下一步:隔离包含密码的文件。(可能是config/databases.

当我们还是一个由值得信赖的开发人员组成的小团队时,Symfony为我们工作得很好。然而,现在我们需要更多的人来帮助,这导致了在管理源代码管理中检查的生产密码时出现问题


我在Symfony配置文件中存储了数据库的生产密码、API密钥等,我不希望所有开发人员都能访问这些文件。如何对未经授权的开发人员隐藏这些密码,但仍然允许他们访问源代码?

如果您已经在使用版本控制:第一步应该是从版本控制系统的历史记录中删除所有密码。祝你好运;-)

下一步:隔离包含密码的文件。(可能是
config/databases.yml
apps//app.yml
)。 将此文件复制/重命名为
*.yml.dist
(例如:
config/databases.yml.dist
)。清除这些文件中的所有生产密码,只保留 保持它运行的最低限度

确保原始文件不再出现在VCS中。(
svn ignore
等)

现在,在设置新环境时,只需将*.dist文件复制到其“真实”名称即可


(我为我的项目所做的是将所有API键移动到
config
目录中的单个apikeys.yml。这样,
app.yml
中的所有属性都会被版本控制,我的API键不会出现在VCS中。

希望你能得到你问题的答案。最近我在我的项目中实现了这种工作。我想存储此类机密数据数据库是安全的选择,使用过滤器获取此数据是最佳选择无需将数据存储在app.yml中。

您是否使用git或svn之类的版本控制?这是个好主意。但这也意味着我现在对*.yml文件所做的任何更改都需要复制-手动粘贴到每个环境中的*.dist文件,对吗?是的。这就是为什么我选择只为数据库配置和API键创建*.dist文件的原因。(这样我就可以保留我的app.yml,它在开发过程中会发生很多变化)。