1

(我指的是应用程序缓存/清单;顺便说一下,不是本地存储。)

假设我只希望特定用户能够使用应用程序缓存。当他们登录我的网站时,根据他们的权限,该网站会告诉浏览器获取清单。客人和没有特权的客人无权访问清单。

为了避免这种情况,恶意用户可以从另一个用户的浏览器数据文件夹中复制应用程序缓存文件,或者直接下载清单文件。

有没有办法防止这种情况发生?有什么内置机制吗?

4

1 回答 1

1

为了规避这一点,恶意用户可以从另一个用户的浏览器数据文件夹中复制应用程序缓存文件......

只有对机器进行物理访问,或者机器受到严重损害时。但是没有针对这些类型的攻击的保护措施。当前的浏览器应将应用程序缓存充分隔离到特定域。根本不允许跨域访问。

...或直接下载清单文件。

如果您有权访问服务器端,那么您可以在用户登录时自动生成清单。这样,每个清单对于用户来说都是唯一的,并且没有清单可供任何没有适当权限访问您的站点的人直接下载。

...任何内置机制?

applicationCache 没有内置的安全机制。我在我的离线应用程序中考虑过这一点,我看到的唯一安全措施是缓存文件的加密。客户端加密不太理想,但您可以加密缓存文件的内容,并在应用程序/页面启动时需要密钥来解密它们。上次我研究这个时,一些斯坦福学生的 JS 加密库是我发现的最好的。

于 2011-05-23T21:46:24.020 回答