javascript - 使用 ServiceWorker 的永久浏览器缓存

标签 javascript security caching service-worker

我正在设计一个 JavaScript 安全加载器。加载程序内嵌在 index.html 中。安全加载器的目标是只加载受信任的 JavaScript 资源。 index.html 的内容主要限于安全加载程序。出于安全考虑,我希望 index.html(存储在缓存中)永远不会更改,即使我的网站被黑也是如此。

如何在服务器无法篡改缓存的情况下缓存 index.html?我想知道 ServiceWorker 是否可以提供帮助。实际上,index.html 会注册一个 service worker 以从不可变缓存中获取自身(甚至不发出网络请求)。

最佳答案

在 chrome 中你可以使用 FileSystem API

http://www.noupe.com/design/html5-filesystem-api-create-files-store-locally-using-javascript-webkit.html这允许您通过浏览器保存和读取沙盒文件系统中的文件。

至于其他支持,它尚未被确认为 HTML5 规范集的补充。所以它只适用于 chrome。

您还可以使用 IndexDB所有现代浏览器都支持此系统。

您可以在 Service Worker 中使用这两种服务来管理内容的加载和管理,但是我不得不质疑您为什么要阻止自己更新 index.html

关于javascript - 使用 ServiceWorker 的永久浏览器缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41699970/

相关文章:

javascript - jQuery AJAX 与 UpdatePanel

javascript - 在可滚动的div angularjs中滚动到顶部

android - 如何检测错误?

javascript - 如何让JS在缓存中存储随机元素?

JavaScript/AngularJS : How do i declare directive from from javascript?

javascript - 在用户控件中使用 png 时出错

c - SetSecurityInfo 返回拒绝访问

php - 是否可以用已知盐攻击用户密码

Javascript 强制 csv 文件重新加载 (amcharts)

java - 如何缓存来自 Web 服务器的 okHTTP 响应?