2013-11-14 55 views
0

我想驗證我的MongoDB連接從PHP驅動程序,但我不希望我的密碼以明文形式存儲在我的代碼庫中。我更喜歡一種類似於Postgresql的.pgpass文件的機制。如何驗證類似於.pgpass文件機制的MongoDB連接?

我想使用系統上的某個文件進行身份驗證,以便我的MongoDB密碼不會通過我們的版本控制存儲庫和服務提供商分發到全國各地的幾十臺計算機。

如果MongoDB和/或PHP驅動程序不具備此功能,我可以想到的最佳選擇是在代碼中使用密鑰加密密碼,並使用機器上的私鑰文件解密用於MongoDB身份驗證的密碼。使用持久連接和/或APC緩存的組合我可以減少必須爲每個連接解密文件的性能。

任何想法或建議?

回答

0

我對Postres的.pgpass工作方式並不熟悉,我也無法真正想象它如何與PHP協同工作 - 或者您將如何在VCS中分發該文件。 這聽起來對我來說只是像在文件系統中的隨機文件,你可以簡單地運行

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

MongoDB的2.4支持外部認證機制,如Kerberos和LDAP身份驗證,如果這是你正在尋找的東西。 或者,MongoDB 2.6支持X509身份驗證,但要到明年初才能發佈。

除此之外,只有標準的用戶名/密碼組合。

相關問題