2011-12-01 64 views
0

我們正在建立一個虛擬專用服務器(不是由我們託管),我們將在其上測試基於Django的Web應用程序。這些測試中生成的用戶生成的內容將非常敏感。我們希望保持這些內容的加密,例如在備份媒體丟失的情況下。內容將被存儲在MySQL或SQLite數據庫中。Django網絡應用程序的數據庫加密,無需在服務器上存儲密鑰

據我所知,我們無法加密VPS的文件系統。如果我們使用諸如SQLcipher(http://sqlcipher.net/)之類的東西來加密數據庫,有沒有將密鑰傳遞給Django而不將它存儲在服務器上的方法?我們將爲每個測試啓動服務器,因此這部分不是問題。

謝謝!

回答

2

聽起來就像你希望管理員用戶手動輸入密鑰到表單中作爲登錄過程的一部分,並讓Django使用它。

+0

是的,這聽起來很合理。我試圖找出如何做到這一點。有沒有將密鑰作爲命令行參數的一些方法,而不是將它輸入到settings.py中? –

+0

你不需要settings.py中的密鑰本身,因爲它會保存在服務器上。每次啓動服務器時,都可以在命令行上手動導出環境變量,它只能在內存中使用,然後在settings.py中使用。 – Anentropic

+0

例如SQL_KEY =「xxx」;導出SQL_KEY,然後在settings.py ... import os; SQL_KEY = os.environ ['SQL_KEY'] – Anentropic

相關問題