0

我想从 php 驱动程序验证我的 MongoDB 连接,但我不希望我的密码以明文形式存储在我的代码库中。我更喜欢类似于 Postgresql 的 .pgpass 文件的机制。

我想使用系统上某处的文件进行身份验证,这样我的 MongoDB 密码就不会通过我们的版本控制存储库和服务提供商分发到全国数十台计算机。

如果 MongoDB 和/或 php 驱动程序没有开箱即用的此功能,我能想到的最佳选择是在代码库中使用高度加密的密码,并在机器上使用私钥文件即时解密密码用于 MongoDB 身份验证。使用持久连接和/或 APC 缓存的组合,我可以减少必须为每个连接解密文件的性能损失。

有什么想法或建议吗?

4

1 回答 1

0

我不熟悉 Postres 中的 .pgpass 是如何工作的,我无法想象它是如何与 PHP 一起工作的——或者你将如何在你的 VCS 中以不同的方式分发该文件。在我看来,这就像一个随机文件您可以简单地运行的文件系统

$password = file_get_contents("/home/username/.mongodbpass");

MongoDB 2.4 支持外部身份验证机制,例如 Kerberos 和 LDAP 身份验证,如果这是您正在寻找的东西。或者,MongoDB 2.6 支持 X509 身份验证,但要到明年年初才会发布。

除此之外,只有标准的用户名/密码组合。

于 2013-11-19T21:15:48.363 回答