(我指的是应用程序缓存/清单;顺便说一下,不是本地存储。)
假设我只希望特定用户能够使用应用程序缓存。当他们登录我的网站时,根据他们的权限,该网站会告诉浏览器获取清单。客人和没有特权的客人无权使用舱单。
为了避免这种情况,恶意用户可以从其他用户的浏览器数据文件夹中复制应用程序缓存文件,或者直接下载清单文件。
反正有没有阻止这种情况发生?任何内置机制?
答案 0 :(得分:1)
为了规避这一点,恶意用户 可以复制应用程序缓存文件 来自其他用户的浏览器数据 文件夹...
仅限物理访问本机,或者机器严重受损。但是对这些类型的攻击没有 no 保护。当前的浏览器应该将应用程序缓存与特定域充分隔离。不允许跨域访问。
...或直接下载清单 文件。
如果您有权访问服务器端,则可以在用户登录时自动生成清单。这样,每个清单对用户都是唯一的,并且不会直接为没有对您的站点拥有适当权限的任何人下载清单。
......有任何内置机制吗?
applicationCache没有内置的安全机制。我在我的离线应用程序中考虑过这一点,我见过的唯一安全措施是加密缓存文件。客户端加密不太理想,但可以加密缓存文件的内容,并且需要密钥才能在应用程序/页面启动时解密它们。上次我研究过这个时,JS crypto library from a few Stanford students是我找到的最好的。