2012-05-09 49 views
0

我最近爲我的公司構建了一個Web應用程序,現在他們希望它支持離線模式。讓事情變得複雜,我的公司非常關心安全問題,並且不希望我使用Xampp或Mamp。應用程序處理敏感數據,他們認爲這些程序會以某種方式使數據可以在外部顯示(儘管我完全相信這是事實)。移動PHP MySQL Web應用程序離線

無論如何,我正在尋找一種方法讓我的應用程序脫機運行,並且還支持以下技術:PHP,MySQL,jQuery。最難的部分是我需要在典型的服務器環境之外執行PHP代碼。

任何人都可以請給我一些建議,關於如何實現這樣一個系統,以及我在安全和數據存儲方面可能面臨的任何相關的漏洞?

回答

0

如果您想運行html/javascript,您可能需要在服務器/客戶端環境中運行此操作,因爲瀏覽器無法運行php和php應用程序,因爲獨立應用程序需要解析某些內容html/css/javascript(它需要瀏覽器才能呈現視圖)。

最佳的行動方式是將應用程序放到您控制訪問的服務器上。只能將訪問控制設置爲特定的IP地址,或者如果可以將其從防火牆後面的內部網中運行,而網絡外部沒有人能夠訪問,則甚至更好。

PHP可以在桌面環境下運行,但他們在這裏鍵是它不會運行您用來顯示的javascript/html。您可以使用php與第三方庫(如php-gtk)創建一個不需要服務器或瀏覽器的桌面應用程序,但php-gtk沒有最好的支持。

如果應用程序需要存儲數據供其他計算機/用戶訪問,那麼它需要在網絡上。如果不需要這樣做,你可能會考慮使用適用於桌面應用程序的不同編程語言,以便完全脫機(例如Java或.NET)。

2

有你的問題有些奇怪點

現在他們希望它支持離線模式

嗯,這是很容易 - 熟悉html5's offline features

要使事情複雜化,我的公司非常關心安全性,不希望我使用Xampp或Mamp

您是否在桌面計算機上部署了您的Web應用程序?或者你的意思是你被禁止使用網絡服務器? Xampp/Mamp是開發工具 - 您的公共應用程序應該在專門爲此配置的計算機上運行apache/nginx/iis/PHP5.4-builtin /任何您喜歡的網絡服務器。

這是最困難的部分是我需要在典型的服務器環境之外執行PHP代碼。

您的環境如何非典型?邁克提到php-gtk - 但IMO不應該沿着這條路線走下去,除非你的要求是「桌面應用程序」+「絕對必須用PHP編寫」 - 這從你的問題是不清楚的。

,我可以在安全和數據存儲方面面臨的任何相關漏洞

那麼,您放在本地存儲在客戶端(瀏覽器),用戶可以訪問 - 只要記住這心神。從您的角度來看,不要將敏感數據發送到不安全的僞公共位置,即某個用戶的瀏覽器緩存。

2

假設你爲他們的機器上的個人用戶安裝了這個 - 最好的辦法是安裝apache/php/mysql,並配置apache拒絕來自任何遠程IP地址的連接。

環境應該與您當前的應用程序基本相同,但系統中只有1個用戶。

相關問題