繁体   English   中英

WebWorker 和/或 Storage Worker 以 web 页面无法访问的方式保存数据

[英]WebWorker and/or Storage Worker persist data in a way the web page can't access it

我需要在客户端存储高度敏感的数据,并保护它免受可能的 XSS 攻击。 我想到的最好的方法是HttpOnly+Secure cookies,但不幸的是数据太大了,有点超过4096字节的限制。

我的下一个想法是创建一个 WebWorker 和/或 ServiceWorker,并从其中检索数据,并且仅在从主页接收消息时才使用此数据,而不将其直接传递回页面。 而且我需要将这些数据保存很长时间。

现在,WebWorkers 和 ServiceWorkers 都可以访问 indexedDB,但主页也可以访问它,因此可能的 XSS 仍然可以通过查询 indexedDB 存储来检索数据。

有没有办法存储数据,以便只能由存储数据的 Web/Service Worker 访问?

或者可能有一些不同的方法? 将数据存储在服务器端是最不受欢迎的选择。

切勿在客户端中存储敏感数据。 客户端存储完全不安全。 尝试存储数据服务器端,单向散列它,并仅保存 hash 客户端。 您可以使用 SHA1 或 SHA256 密钥轻松完成此操作。 当请求发送到服务器时,您可以按键查找。 因此,您实际上并没有将敏感数据存储在客户端中,而只是一个与它唯一对应的晦涩的密钥,如果被任何人获取,则没有任何意义。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM