敏感数据,我想知道我们如何能够隐藏一些开发商为我们的PHP项目的敏感数据(数据库密码和其他密码)。我们正在为我们的项目使用Subversion。只是禁止一些用户访问我们拥有密码文件的文件夹就足够了吗?还有其他建议吗?如何隐藏开发商
Q
如何隐藏开发商
0
A
回答
2
- 敏感数据不存储在任何代码版本控制系统。保持变量为空。
- 第一次结帐后,在本地设置变量。
- 在分布式/远程数据库的情况下,简单地为该用户创建另一接入访问数据库并提供凭证。
- 设置完值后,请排除这些文件以后再更新。
0
你可以有一个数据库表,用于存储敏感数据,只有用户正确的凭证可以从中读出。 每位开发人员都必须输入用户名和密码才能通过某个配置文件访问数据库。 此外,您不需要为每个开发人员设置用户和密码,因为您可以拥有3个访问级别,因此只需创建3个用户,即 DeveloperAdmin(可更改密码表) DeveloperTrustedRead(可读取密码表) DeveloperNotTrusted(无访问权限到密码表) 所以你分发相同的数据库用户通道不可信的开发。
0
它应该是足够的。
如果你想实现一种经济有效而又安全的方式来让不同的人以不同的安全级别访问同一个资源(密码保护的,作为数据库),请看这个答案Different ways to store a password variable in a Java web application?并执行选项3以这种方式
- 创建多个用户名/密码访问相同的资源 - 像另一个答案建议在数据库中DeveloperTrustedRead,DeveloperNotTrustedRead等..角色,每一个不同的用户名和密码。 DeveloperNotTrustedRead(对于数据库)不应该创建过程,更改表,删除表,访问除操作的其他数据库等。
- 使用应用程序中的不同密钥加密每个角色的用户名/密码(即选项3)
- 给不可信开发的关键只解密连接到具有较少的权限,如DeveloperNotTrustedRead或角色的用户名/密码DeveloperNotTrustedWrite
这样你可以在SVN分发任何文件,因为你将持有解密重要凭证的密钥,而分布式密钥将允许访问不太强大/危险的一组权限。
只有当您需要它们访问受密码保护的资源(例如数据库)时,这才有意义,但您担心为不受信任的人提供高权限,因此您希望将其权限降至最低(或任何其他受保护的资源),并保持轻松共享代码。
相关问题
- 1. 如何隐藏开发商键
- 2. 如何隐藏在Chrome开发工具
- 3. VBS(非网页开发):如何开启隐藏窗口?
- 4. 如何以J开发商
- 5. 隐藏Facebook应用程序开发
- 6. 显示/隐藏窗口iPhone开发
- 7. Mac OSX开发 - 显示/隐藏按钮
- 8. Android开发的隐藏功能?
- 9. 隐藏开发人员的smtp凭证
- 10. 如何在chrome开发工具中隐藏html注释?
- 11. 如何隐藏Facebook应用程序开发人员?
- 12. 如何在铬反应开发者工具中隐藏密码?
- 13. 如何隐藏symfony2中的开发资产?
- 14. 如何在chrome开发工具中隐藏样式部分?
- 15. 如何在Android中开发隐藏文件的应用程序
- 16. 如何隐藏Windows 7开始按钮
- 17. JavaFX如何在展开后隐藏TitledPane
- 18. 如何隐藏和打开导航
- 19. 从克隆的开发者显示隐藏的开发
- 20. 2开发商
- 21. 如何隐藏
- 22. 如何获得隐藏/取消隐藏按钮以发送发布请求?
- 23. 如何隐藏转发器中的div
- 24. 如何隐藏发光效果?
- 25. 如何在隐藏“dd”后隐藏“dd”
- 26. 如何隐藏滚动(溢出:隐藏)?
- 27. 如何面试开发/托管商店?
- 28. PowerShell的开发商
- 29. 如何隐藏UITableView?
- 30. 如何隐藏UITabBarController
敏感数据不存储在SVN,也许?请将您的密码和其他信息保存在未提交到存储库的配置文件中。 – 2014-09-28 13:36:22
只需创建一个配置示例并仅在生产服务器上添加敏感数据。因此,例如在svn中,您有config.php.example文件,并且在生产中将此文件复制到config.php – Perry 2014-09-28 13:38:27