永远防止网站更改

Prevent website change, ever

出于安全原因,我需要这样做,以便在浏览器中加载网站后,该网站根本无法更新,即使手动刷新也是如此。使用 Service Workers and/or 其他技术是否可行,如果可行,如何实现?

如果可能的话,任何攻击者都可以暂时劫持网站,并造成永久性破坏(通常是污损)。 security considerations of HTML5 offline web application standard 对此进行了详细讨论。

因此,无法阻止网站由其所有者或用户更新。

在澄清问题的性质后进行编辑。

您要确保用户不会受到他最初从中加载数据的网站的(恶意)更改的影响。

同样,这违反了客户端-服务器应用程序的设计,但您可以考虑创建一个仅客户端页面:一个仅包含 HTML 的页面, CSS 一个 JavaScript 一旦加载就不会与服务器通信。

如果用户刷新页面(这会从服务器重新加载数据,缓存放在一边),这会中断。

除此之外不可能 "freeze" 您的浏览器接收到什么,这取决于应用程序与后端(您控制)讨论并由用户重新加载页面(用户控制那个)。

您也可以想象在请求者加载一次页面后将其列入黑名单(基于 IP,可能是指纹)。

所有这些都是难以实施的技巧,尤其是在安全敏感应用程序的上下文中。


(初始答案)

当您从网站接收数据时,作为网站所有者,您将失去对该数据的所有控制权。它将以接收客户端(通常是浏览器)认为合适的方式显示。

这也意味着接收数据的人可以修改它。

现在,可以想像出各种各样的想法,让愿意修改数据的接收者过不去。我脑子里想不出

  • 发送图像(应用程序的屏幕截图)而不是正常发送 HTML
  • 设置应用程序以通过 websockets 连接到您的服务器,并以在显示数据不一致时会中断的方式构建应用程序
  • 一直刷新页面

可能还有其他愚蠢的想法,但必须清楚一件事:这些都是愚蠢的想法。您正在尝试违背自然的功能。

For security reasons (...)

这种不自然弯曲的最糟糕情况之一可能是安全性。如果你这样做,你会遇到问题。