2012-03-18 22 views
1

我有一個我正在開發的SaaS平臺;用PHP編寫並使用MySQL數據庫(使用PHP PDO類)。SaaS平臺 - 每個用戶或一個主帳戶的不同數據庫用戶

應用程序已經在功能和我已經決定使用一個單獨的數據庫爲每個實例。

的原因之一爲使用多個數據庫是爲了確保客戶端數據被分離(希望安全)。這也使我們能夠輕鬆地將他們的實例轉移到內部部署版本中。

安全總是我擔心的事情。我希望確保這個系統在上線之前儘可能安全。

目前我們使用一個單一的MySQL用戶名密碼&有每一個數據庫訪問(對MySQL特定農場)。

理論上,如果存在安全漏洞,那麼攻擊者可能能夠訪問不同的數據庫(用戶名&密碼在PDO /數據庫連接建立後未設置,但他們可能能夠運行諸如「使用databaseB「)。

這是我應該關注的東西嗎?例如,簡單地使用數據庫分區的SaaS平臺已經不太安全,因爲簡單的SQL錯誤可能會暴露客戶端數據。

我已經開始研究使用不同的數據庫用戶名&密碼,但它確實增加了SaaS平臺的複雜性,保持簡單的事情總是一個好主意。

謝謝!


我已決定爲每個實例使用不同的用戶名和密碼。

這是另一層安全,並且不能傷害。

+0

我不知道如何發送PM在這個系統上。你正在建立專有或公司/團隊的一部分? – phpmeh 2012-03-19 00:06:30

+0

嗨Phpmeh。謝謝回覆。我不確定你的意思,我是這個產品的主要開發者(它正在內部構建)。一旦系統準備就緒,我們可能會得到外部公司的支持。 – 2012-03-19 00:09:06

+0

是的,我只是好奇。我正在構建我計劃部署SaaS風格的業務管理軟件。我有一位初級開發人員爲我工作,我們一直在爲這個項目工作6個月。即便如此,這是非常緩慢的。始終希望與人們共同合作。 – phpmeh 2012-03-19 00:15:25

回答

1

從理論上講,如果有一個安全漏洞,則攻擊者可能 能夠訪問不同的數據庫(用戶名&密碼沒有設置 的PDO /數據庫連接後,但他們也許能夠 運行一個查詢諸如「使用數據庫B」)。

這是我應該關注的東西嗎?例如,僅使用數據庫分區的SaaS 平臺已經不太安全 ,因爲簡單的SQL錯誤可能會暴露客戶端數據。

1)如果你正在做你的安全權利,它應該是非常困難的(如果不是不可能的話),他們手動編寫查詢。
2)你剛剛擺出的問題是爲什麼我會在數據庫之間提倡不同的用戶/密碼。
3)我鼓勵多個數據庫連接的另一個原因......我爲一家擁有大約10人的公司製作了製造控制軟件。數據庫變得很龐大並不需要很長時間。多個數據庫將保持控制的大小比1好。
4)如果我只使用1個數據庫,我會更加關心客戶意外訪問另一家公司的信息,像權限問題一樣簡單。

這個問題我仍然在關於分區數據庫(我還沒有研究/測試)仍然揮之不去......我對如何處理數百個到1個數據庫的連接有很好的理解。當你處理幾百個數據庫的連接時會發生什麼?

+0

1)當然,所有查詢都是通過綁定參數與PHP PDO類一起進行的。 2)是的,這是我的主要問題,如果這個額外的安全步驟應該使用。 3)是的,我們將使用多個數據庫。 4)同意,這是我們使用多個數據庫的另一個原因。 我不認爲連接應該導致一個大問題,雖然額外的連接可能會佔用更多的內存。 – 2012-03-19 04:53:40

相關問題