我们如何保护 HTML5 localStorage 的内容免受用户篡改?对于 cookie,我们以加密格式存储信息,用于加密的秘密将存储在客户端不知道的服务器中。
但是,在 localStorage 中,信息驻留在客户端,我们将密钥发送给客户端。那么,是否有任何标准方法可以保护 localStorage 中的信息不被用户篡改?
我们如何保护 HTML5 localStorage 的内容免受用户篡改?对于 cookie,我们以加密格式存储信息,用于加密的秘密将存储在客户端不知道的服务器中。
但是,在 localStorage 中,信息驻留在客户端,我们将密钥发送给客户端。那么,是否有任何标准方法可以保护 localStorage 中的信息不被用户篡改?
@Mikko Ohtamaa是对的。使用起来不太安全。但也许您可以使用 sessionStorage 将信息保存到会话结束。并从这个网站:
关于本地存储和安全的最终想法
不要将本地存储用于会话标识符。坚持使用 cookie 并使用 HTTPOnly 和 Secure 标志。
如果 cookie 由于某种原因无法工作,则使用会话存储,当用户关闭浏览器窗口时该存储将被清除。
在本地存储中存储敏感数据时要小心。就像任何其他客户端存储选项一样,用户可以查看和修改此数据。
最后一件事是不要将敏感数据存储在本地存储中......
您不保护 localStorage。
来自客户端软件的任何东西都必须是不受信任的。
对于仍然想知道的任何人,请查看SecurityJS.128,它是一个客户端 JavaScript 库,其中一个 API 是window
secureStorage
.
这是它的工作原理:
(async function() {
// anonymous function
// generate the key
const myKey = securityjs.generateKey();
// set the item
secureStorage.setItem("item", "123");
// lock it
secureStorage.lock();
// unlock it
secureStorage.unlock(myKey);
// get the item
secureStorage.getItem("item");
// "123"
})();