我正在研究使用 HTML5 的离线网络应用程序解决方案。该功能是我需要的一切,但存储的数据可以直接在浏览器中查询,因此完全不安全!
无论如何要加密/隐藏以确保数据安全?
感谢:D。
我正在研究使用 HTML5 的离线网络应用程序解决方案。该功能是我需要的一切,但存储的数据可以直接在浏览器中查询,因此完全不安全!
无论如何要加密/隐藏以确保数据安全?
感谢:D。
HTML5 中的本地存储有两个问题 -
对于 1,浏览器对 localStorage (或 safari 具有的 sqllite 数据库支持)实施同域限制,因此其他网站将无法访问您存储的数据。但是,请记住,如果您的网站存在 XSS 漏洞,则可能会窃取数据。
对于2,你无法阻止它。它就像一个 cookie - 用户可以选择查看/删除/修改它。
数据加密是可能的(见http://farfarfar.com/scripts/encrypt/),但没有意义。你不能有一个单一的全局密钥/密码——因为攻击者可以很容易地从 javascript 代码中找出密钥。使用用户输入的密码来加密/解密是可能的,但是客户端加密库还不够成熟或测试得不够好。可能有很多方法可以打破它。
所以,至少现在,不要将敏感数据存储在 localStorage 中。
You can also see an article on this concern by the author of the HTML5 SecureStore Porposal
如果您将数据存储在用户的计算机上,则用户始终可以读取它,无论您对其进行了多少加密[假设您没有使用哈希...]
敏感数据总是在服务器端。