2012-06-12 83 views
2

我正在研究一個腳本(PHP + MySQL),它可以讓您通過FTP編輯文件。 我想要做的是當用戶登錄並連接到服務器時,我想記住ftp密碼,以便它可以重複使用以透明地重新連接到服務器(例如,瀏覽文件時)。 出於安全原因,我不想在數據庫中存儲原始密碼。我正在考慮在cookie中參考數據庫中的連接ID來存儲密碼。但是這聽起來不夠安全。 如何在數據庫中存儲臨時密碼輸入?如何在Web應用程序中以安全的方式處理ftp密碼

任何想法如何解決這個問題?

+0

你卡在FTP嗎?你沒有辦法像SFTP那樣使用更好的東西? – sarnold

+0

你有沒有考慮過將它存儲在PHP會話中? – Ami

+0

@sarnold不,我沒有被卡住的FTP我只是提到它作爲一個例子。 –

回答

2

您可以試試asymmetric key system

  1. 生成公鑰/私鑰對
  2. 給私鑰給用戶
  3. 使用公鑰來加密密碼並將其存儲在數據庫中
  4. 每次用戶做一個動作,他們爲您提供給他們
  5. 私鑰可以使用私鑰解密口令,做動作,然後破壞內存中的私鑰

應該更安全,然後只依靠服務器自行加密/解密。它不是100%萬無一失的(如果它們是根服務器,它們可以嗅探私鑰),但這是防止單方面攻擊的好方法。至少,任何舊密碼如果由於私鑰丟失而被入侵,則不會受到攻擊。

編輯:正如sarnold指出的那樣,您也可以用symmetric key system來做到這一點。

+0

對稱加密可以完成同樣的事情。 – sarnold

+0

我已經刪除了評論。對不起,我以爲你的意思是爲所有用戶使用相同的對稱密鑰。我的想法是每個用戶都會得到一個不同的私鑰。 – Jay

+0

那麼成功連接到服務器用戶後,每次他們想更改目錄時都必須輸入私鑰? –

相關問題