【问题标题】:Is there any way to completely hide Web Application code? [closed]有没有办法完全隐藏 Web 应用程序代码? [关闭]
【发布时间】:2017-09-19 21:36:10
【问题描述】:

HTML5 代码可以通过“检查元素”轻松查看或从“来源”检索。

我想知道是否有任何方法可以在浏览器的客户端完全隐藏 Web 应用程序的代码。

欢迎使用所有语言,因此可以接受嵌入应用程序(例如 Java Applet)。有什么聪明的方法可以解决这个问题吗?

【问题讨论】:

  • 后端代码是的。前端代码号但是,有一些方法可以使前端代码更难理解(缩小、混淆等)

标签: java html browser embed


【解决方案1】:

Vaadin

使用面向服务器端的 Web 应用程序框架,例如 Vaadin,其中您的业务逻辑仅存在于完全用 Java 编写的服务器上,而框架会自动生成必要的 HTML、CSS、JavaScript、DOM、AJAX 和 WebSocket 代码在 Web 浏览器中进行演示可以让您对关键代码进行大量屏蔽。

任何用户都可以看到自动生成的 HTML 和 JavaScript 等,但意义不大。

黑客将能够操纵该客户端代码,但不会做太多事情。例如,黑客可以更改定义弹出菜单中值的 HTML/JavaScript 以添加另一个意外项目。但是服务器上的 Java 代码可以检查意外值并处理错误或抛出异常。

Vaadin 执行完整性测试以验证客户端和服务器是否保持“同步”。破解客户端代码可能会迅速使它们失去同步。

【讨论】:

    【解决方案2】:

    完全隐藏前端代码是不可能的,因为用户的浏览器必须能够读取代码才能执行它。这个问题不仅限于网络。甚至本机二进制文件也可以使用 disassembler 进行检查 - 同样,用户的 CPU 必须能够解释代码,因此足够熟练的攻击者也可以解释它。

    也就是说,混淆代码会使代码更难阅读。 JavaScript 在投入生产之前通常会被缩小——主要是出于性能原因。这还提供了一个基本的功能隐藏级别,以防止技术欠佳或动机不足的攻击者。 Google's list of minifiy resources 可能是一个不错的起点。

    【讨论】:

      猜你喜欢
      • 2019-01-23
      • 1970-01-01
      • 2021-04-28
      • 2016-07-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多