我们希望使用敏感业务数据构建可离线的HTML5 SPA。最有可能是使用knockout.js!
但我们有非常严重的安全顾虑。
那加密呢?加密可能是可能的。但是适当的密钥也必须在(离线)客户端。如果您在客户端拥有这两种算法和密钥,您还可以将其以未加密的形式存储在本地存储中。
那么数据操作呢?使用Firebug等工具操作DOM或JavaScript对象很容易。
我真的很喜欢knockout,但它不适合现实世界的商业应用程序。
有什么建议吗?
发布于 2012-05-14 23:33:02
我不是安全专家,但是如果你使用js来加密/解密client-sde,你不需要在客户端同时存储公钥和私钥吗?有效地中和了你的整个安全模型。
我认为一旦你有了数据客户端,就没有办法让它完全安全,你必须信任浏览器来保持状态的私密性,但要真正做到100%的安全,你要么不得不放弃web,要么通过重定向到页面或在特定时间段后销毁你的状态,将部分数据发送到客户端,并依靠服务器端来填补空白。在某种意义上,如果你不关闭标签,所有的网页都可以脱机。想想你的银行网站,你所有的账户活动都在页面上,从安全的角度来看,我看不出这和离线js有什么区别。
Re:数据操作,这真的不是KO的“功能”,但是JS允许你做非常高级的数据操作,像linq.js这样的库让事情变得更容易。虽然不完全是sql,但仍然是不错的。
我认为KO对于现实世界的商业应用来说是绝对正确的。更广泛地说,browser/js/html可能不适合您所追求的安全级别。
有点大喊大叫,希望这能有所帮助。
https://stackoverflow.com/questions/10580364
复制相似问题