2012-05-14 63 views
3

我們希望構建具有敏感業務數據的離線功能的HTML5 SPA。 最有可能與knockout.js!HTML5離線單頁應用程序(SPA) - 安全問題

但是我們真的很擔心安全問題。

加密怎麼樣?加密可能是可能的。但合適的關鍵也必須在(離線)客戶端。如果你在客戶端同時擁有算法和密鑰,你也可以在本地存儲中不加密地存儲它。

數據操縱怎麼樣?使用Firebug等工具操縱DOM或JavaScript對象很容易。

我真的很喜歡淘汰賽,但它並不適合真實世界的商業應用。

有什麼建議嗎?

回答

3

我不是安全專家,但是如果您使用js來加密/解密客戶端sde,您是否不需要同時存儲公鑰和私鑰客戶端?有效地抵消你的整個安全模型。

我認爲,一旦你有數據客戶端,真的沒有辦法保證它的完全安全,你必須相信瀏覽器保持私密狀態,但真的是100%安全的,你必須放棄網絡或通過重定向到一個頁面或在特定時間段後摧毀您的狀態,將部分數據發送給客戶端並依靠服務器端填充空白來承受後果。從某種意義上說,如果您不關閉該選項卡,則所有網頁都可以脫機。從網頁的所有帳戶活動考慮您的銀行網站,從安全的角度來看,我沒有看到在線和離線js之間的區別。

回覆:數據操縱,這真的不是一個KO「功能」,但JS允許你做相當先進的數據操作和像linq.js這樣的庫使事情變得更容易。不是很好,但可敬。

我認爲KO絕對適合現實世界的商業應用。更廣泛地說,瀏覽器/ js/html可能並不適合您之後的安全級別。

一點咆哮,希望這有助於。

+0

是的。我想你是對的。但是,如果我們將開箱即用的商業應用程序的安全附帶移動設備管理系統,它會達到不同的水平。你同意嗎?加密將不再需要我認爲和數據操作在這個沙盒環境中是不可能的。這是一款只能在我們的平板電腦上使用的網絡應用程序,不適用於公衆。 – timmkrause

+0

@tkrause - 如果Web應用程序已正確保護到已知的平板電腦環境,那麼安全性就不那麼重要了。 – madcapnmckay

+0

謝謝你指出這一點! – timmkrause