我们希望构建具有敏感业务数据的具有脱机功能的HTML5 SPA。 最有可能使用knockout.js!
但我们确实存在严重的安全问题。
加密怎么样?加密可能是可能的。但是相应的密钥也必须在(离线)客户端。如果你在客户端同时拥有算法和密钥,你也可以将它以未加密的方式存储在本地存储中。
数据操作怎么样?使用Firebug等工具很容易操作DOM或JavaScript对象。
我真的很喜欢淘汰赛,但它不适合现实世界的商业应用。
有什么建议吗?
答案 0 :(得分:3)
我不是安全专家,但是如果你使用js来加密/解密client-sde你不必在客户端存储公钥和私钥吗?有效地中和您的整个安全模型。
我认为一旦你有数据客户端就没有办法让它保持完全安全,你必须相信浏览器保持国家私密,但真的要100%安全,你要么放弃网络或生活通过重定向到页面或在特定时间段后破坏您的状态,将部分数据发送到客户端并依靠服务器端填写空白的后果。从某种意义上说,如果不关闭选项卡,所有网页都可以脱机使用。想想您的银行网站上有您在网页上的所有帐户活动,从安全的角度来看,我认为这与离线js没有区别。
Re:数据操作,这真的不是一个KO“功能”,但JS允许你做相当高级的数据操作,像linq.js这样的库让事情变得如此简单。不是很好的sql,但是可以尊重。
我认为KO绝对适合现实世界的商业应用。更广泛地说,浏览器/ js / html可能不适合您所追求的安全级别。
有点咆哮,希望这有帮助。