我正在研究使用HTML5的离线Web应用解决方案。
功能是我所需要的一切,但存储的数据可以直接在浏览器中查询,因此完全不安全!
是否仍要加密/隐藏以确保数据安全?
谢谢,
d.
最佳答案
HTML5中的本地存储存在两个问题-
一个网站读取另一个网站存储在用户浏览器中的脱机数据
最终用户直接查询网站脱机数据
对于1,浏览器对本地存储(或Safari支持的sqllite数据库)实施相同的域限制,因此其他网站将无法访问您存储的数据。但是,请记住,如果您的站点存在XSS漏洞,则可能会窃取数据。
你不能阻止它。它就像一个cookie-用户可以选择查看/删除/修改它。
数据加密是可能的(请参见http://farfarfar.com/scripts/encrypt/),但没有意义。您不能只有一个全局密钥/密码,因为攻击者可以很容易地从javascript代码中找到该密钥。使用用户输入的密码进行加密/解密是可能的,但客户端加密库还不够成熟或测试得不够好。有很多方法可以打破它。
所以,至少现在,不要在本地存储中存储敏感数据。