2012-03-27 49 views
2

有沒有一個unix服務,或至少有一個我可以拼湊在一起,爲PHP Web應用程序存儲明文密碼?用於在PHP Web應用程序中存儲純文本密碼的unix密碼服務?

在撰寫此問題時,我發現c# provides a service用於以加密格式存儲密碼。

我必須存儲純文本密碼,因爲應用程序連接到各種ftp服務器。並非所有這些服務器都配置爲使用公鑰。我期望保護的兩個向量是數據庫轉儲和某人從文件系統上的文件獲取純文本密碼。

我想知道是否有某種方式,服務器操作系統本身可以存儲加密的字符串爲應用程序正在運行的用戶 - apache,www-data或任何人。據我所知,這樣的系統仍然容易受到某人訪問這些帳戶或上傳惡意PHP腳本的影響,但我認爲,根據我們目前的做法,這些是可以接受的風險。我只是不想將明文密碼存儲在數據庫或文件系統中。

+1

您認爲系統存儲密碼的位置在哪裏? – 2012-03-27 17:41:47

+0

我不明白這個問題 - 你在說什麼密碼? Shell帳戶密碼哈希存儲在/ etc/shadow中,但我無法使用哈希登錄到遠程服務器:( – user151841 2012-03-27 17:52:10

+0

「我只是不想將明文密碼存儲在數據庫或文件系統中。」系統 – 2012-03-27 17:54:32

回答

1

從你的問題我假設你使用的是Apache。 Apache配置文件應該只能被root用戶讀取,因此這裏存儲的任何信息都應該是非常安全的。如果某人獲得root訪問權限,他們可能無論如何都能夠以某種方式提取密碼。

您可以使用阿帕奇SetEnv來設置環境變量:

SetEnv mySQL_PASS somePassword 

這將使用超全局$_SERVER可用於PHP。

echo $_SERVER['mySQL_PASS'];