2017-04-23 176 views
0

HTML5代码可以通过“检查元素”轻松查看,或从“来源”中检索。有什么办法可以完全隐藏Web应用程序代码吗?

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

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

+1

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

回答

2

Vaadin

使用面向Web应用程序框架,服务器端如Vaadin您的业务逻辑只生活全部采用Java编写,而框架自动生成HTML,CSS,JavaScript的,DOM,AJAX在服务器上,以及在Web浏览器中进行演示所需的WebSocket代码可以让您对关键代码进行大量掩饰。

任何用户将能够看到自动生成的HTML和JavaScript等,但这并不意味着太多。

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

而且Vaadin执行完整性测试以验证客户端和服务器保持“同步”状态。黑客攻击客户端代码可能会迅速导致它们不同步。

1

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

这就是说,混淆代码会使阅读变得更加困难。 JavaScript在投入生产之前经常会缩小 - 主要是出于性能原因。这也提供了一个基本的模糊功能,可以防止技术不太熟练或动力不足的攻击者。 Google's list of minifiy resources可能是一个很好的开始。

相关问题