永远阻止网站变更

时间:2017-11-21 14:13:50

标签: javascript security service-worker page-refresh trust

出于安全原因,我需要这样做,以便一旦在浏览器中加载网站,即使手动刷新,该网站也无法更新。这可能与服务工作者和/或其他技术有关,如果是这样,怎么办?

2 个答案:

答案 0 :(得分:2)

如果可能,任何攻击者都可能暂时劫持一个网站,并造成永久性损害(通常是污损)。 security considerations of HTML5 offline web application standard详细讨论了这一点。

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

答案 1 :(得分:1)

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

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

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

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

除此之外,不可能"冻结"您的浏览器收到了什么,由应用程序与后端(您控制它)和用户重新关联页面(用户控制它)进行讨论。

您还可以想象,一旦他将页面加载一次,就将请求者(基于IP,可能是指纹)列入黑名单。

所有这些都是非常难以实现的技巧,特别是在安全敏感应用程序的环境中。

(初步答复)

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

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

现在,人们可以想象各种想法让愿意修改数据的接收者难以接受生活。从我的头脑中,我可以想到

  • 发送图片(应用程序的屏幕截图)而不是普通的HTML
  • 设置应用程序以通过websockets连接到您的服务器,并以这样的方式构建它,如果显示数据不一致就会中断
  • 让页面一直刷新

可能会有其他愚蠢的想法,但有一点必须明确:这些是愚蠢的想法。你正试图改变一种与自然相对应的功能。

  

出于安全原因(...)

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