代码之家  ›  专栏  ›  技术社区  ›  quadrupleslap

防止网站更改,永远

  •  -2
  • quadrupleslap  · 技术社区  · 8 年前

    出于安全考虑,我需要这样做,一旦网站加载到浏览器中,该网站就无法更新 完全 ,即使手动刷新。对于服务人员和/或其他技术,这可能吗?如果可能,如何实现?

    2 回复  |  直到 8 年前
        1
  •  2
  •   phihag    8 年前

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

    因此,不可能阻止网站的所有者或用户更新网站。

        2
  •  1
  •   WoJ    8 年前

    澄清问题性质后编辑。

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

    再一次 这违背了客户机-服务器应用程序的设计 但是,您可以考虑创建一个仅限客户端的页面:一个仅由HTML、CSS和JavaScript组成的页面,一旦加载,该页面就不会与服务器通信。

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

    除此之外,不可能“冻结”浏览器收到的内容,这取决于应用程序与后端讨论(由您控制),并由用户重新标记页面(由用户控制)。

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

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


    (初始答案)

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

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

    现在,人们可以想象各种各样的想法,使愿意修改数据的接收者的生活变得困难。我脑子里想不出

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

    可能还有其他愚蠢的想法,但有一点必须明确: . 你正试图让一种功能与自然对抗。

    出于安全原因(…)

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