我有一個網站(工具),我想用於多個客戶端。當然,每個客戶都有獨立的登錄,設置和他的工具內容。所以我的問題是:什麼是組織這個最聰明,最安全,最快速的方式。我希望這對客戶和我自己來說都很簡單。一個網站:多個客戶:如何組織
選項A:每個客戶端都得到一個子域,從而他自己的網站+數據庫。缺點:當我對代碼進行更新時,我必須編輯每個子域。改變數據庫模型也是如此。優點: ?
選項B:一個網站使用全局數據庫登錄和每個用戶的數據庫。一旦用戶登錄,網站將在全局數據庫中檢查他需要的客戶端數據庫並加載它。優點:一個站點(=一個更新),單獨的數據庫(=更安全?)。缺點:改變數據庫模型意味着我必須更新每個數據庫。
選項C:使用一個數據庫的一個網站。來自所有客戶端的所有數據都存儲在同一個數據庫中。優點:一個站點(=一個更新),一個數據庫(=一個更新)。缺點=數據庫可能會變大?如果數據庫被盜,所有數據都在其中,並且需要良好的編程來確保客戶端A只能看到他的東西,而不是來自用戶B,C等的信息。
選項D?
我在PHP中編程,數據庫是MySQL。
任何反饋意見。
傑夫
一般來說,你會把所有東西存儲在一個數據庫中。但是,您似乎瞭解不同解決方案的權衡,因此您必須決定應用程序的要求。選擇最符合這些要求的解決方案。 –
對於SO或任何SE網站,這不是一個合適的問題類型。 SE針對的是相對較窄的問題,可以有特定的答案,可以判斷是正確的/不正確的(您接受最正確的答案)。這太寬泛了,有許多可能的方法。對於您可以進行正在進行的設計討論的網站而非問題/答案網站更合適。 – Barmar
共享數據庫的一個缺點是每個客戶的活動都會影響其他客戶的表現。根據業務的性質,一些客戶可能不太喜歡與其他客戶混合的數據。 – Uueerdo