我負責重建四個電子學習Web應用程序(PHP MVC),用於處理購買/銷售和與在線課程交互的公司和用戶:多個MVC應用程序,相同的模型和數據庫,不同的控制器,視圖和域
- 的「霸主」的應用程序,其中創建公司賬戶在所有其他應用程序,報表彙總所有帳戶等
- 的「企業」應用程序,其中一個較大的組織管理其子企業和可以訪問所有上述公司的彙總報告。
- 電子商務應用程序,公司和個人購買和銷售課程。
- 「基本」應用程序,公司用戶可以與其公司創建或購買的課程進行交互。這裏也是用戶和課程由「指導員」創建的地方,這些用戶和課程基本上是擁有較高管理權限的用戶。
所有這些應用程序當然有不同的接口,並在不同的域上訪問。
截至此刻,應用程序4已完成。
我的問題是,以前的開發人員複製了很多代碼,並且只在應用程序之間共享數據庫,導致維護混亂時需要更改某些內容。
這些應用程序有很多共同之處。他們都處理相同的課程,用戶和公司,並從4到1,每個應用程序基本上都會對所發生的事情有更全面的瞭解。
例如,在應用程序4中,當前公司的課程完成和電子商務報告(只有一些用戶可以訪問)。進入申請2,彙總屬於同一企業的公司的報告,並且在申請1中進一步提供針對所有企業和獨立公司的報告。此外,每個都有一些不同的獨特功能。
因此,我覺得所有的應用程序應該共享相同的模型,並且每個應用程序都應該擁有自己的控制器和視圖,這似乎很自然。我的問題是:
什麼是最好的方法來做到這一點技術上?這些應用程序位於同一臺服務器上,每個應用程序位於不同用戶的/ home目錄中,並且open_basedir限制已生效,並且每個應用程序僅允許從其目錄中包含文件。
如果我放寬open_basedir限制並允許從模型位置中包含文件,那麼安全隱患是什麼?我們擁有服務器,因此進行任何更改都不是問題(儘管運行Plesk意味着我們應該從它的界面執行所有配置)。
我該如何配置域名?
我現在「依賴」,但這是一個好主意嗎?我可以看到,所有應用程序都具有功能模塊過度擁擠的風險(儘管必要時我會將應用程序邏輯分開)。
是的,這基本上是我想到的結構,我唯一遇到的問題是把所有東西都放在一個地方,可能存在安全問題。如果一個用戶帳戶受到攻擊,我擔心所有其他應用程序。 – 2010-09-23 08:51:19
如果應用程序將能夠在單獨的帳戶中讀取模型,攻擊者將竊取該帳戶。 – 2010-09-23 12:24:08