HTML5代码可以通过“检查元素”轻松查看,或从“来源”中检索。有什么办法可以完全隐藏Web应用程序代码吗?
我想知道是否有任何方法可以在浏览器中完全隐藏客户端的Web应用程序代码。
欢迎所有语言,因此嵌入应用程序(如Java Applets)是可以接受的。有没有什么聪明的方法来解决这个问题?
HTML5代码可以通过“检查元素”轻松查看,或从“来源”中检索。有什么办法可以完全隐藏Web应用程序代码吗?
我想知道是否有任何方法可以在浏览器中完全隐藏客户端的Web应用程序代码。
欢迎所有语言,因此嵌入应用程序(如Java Applets)是可以接受的。有没有什么聪明的方法来解决这个问题?
使用面向Web应用程序框架,服务器端如Vaadin您的业务逻辑只生活全部采用Java编写,而框架自动生成HTML,CSS,JavaScript的,DOM,AJAX在服务器上,以及在Web浏览器中进行演示所需的WebSocket代码可以让您对关键代码进行大量掩饰。
任何用户将能够看到自动生成的HTML和JavaScript等,但这并不意味着太多。
黑客将能够操纵该客户端代码,但它不会做太多。例如,黑客可以在弹出菜单中更改定义值的HTML/JavaScript以添加另一个意外项目。但是服务器上的Java代码可以检查意外的值并处理错误或抛出异常。
而且Vaadin执行完整性测试以验证客户端和服务器保持“同步”状态。黑客攻击客户端代码可能会迅速导致它们不同步。
无法完全隐藏前端代码,因为用户的浏览器必须能够读取代码才能执行它。这个问题不仅限于网络。即使是原生的二进制文件也可以用disassembler进行检查 - 再次,用户的CPU必须能够解释代码,因此一个足够熟练的攻击者也可以解释它。
这就是说,混淆代码会使阅读变得更加困难。 JavaScript在投入生产之前经常会缩小 - 主要是出于性能原因。这也提供了一个基本的模糊功能,可以防止技术不太熟练或动力不足的攻击者。 Google's list of minifiy resources可能是一个很好的开始。
后端代码是。前端代码号但是,有一些方法可以使前端代码更难理解(缩小,混淆等) –