java有没有办法完全隐藏Web应用程序代码?
HTML5代码可以通过“检查元素”轻松查看,也可以从“源代码”检索
我想知道是否有任何方法可以在客户端对浏览器完全隐藏Web应用程序的代码
所有语言都是受欢迎的,因此嵌入应用程序(如Java小程序)是可以接受的。有什么聪明的方法来解决这个问题吗
你可以在下面搜索框中键入要查询的问题!
HTML5代码可以通过“检查元素”轻松查看,也可以从“源代码”检索
我想知道是否有任何方法可以在客户端对浏览器完全隐藏Web应用程序的代码
所有语言都是受欢迎的,因此嵌入应用程序(如Java小程序)是可以接受的。有什么聪明的方法来解决这个问题吗
# 1 楼答案
不可能完全隐藏前端代码,因为用户的浏览器必须能够读取代码才能执行它。这个问题并不局限于网络。即使本机二进制文件也可以使用disassembler进行检查——同样,用户的CPU必须能够解释代码,因此足够熟练的攻击者也可以解释代码
也就是说,混淆代码会使其更难阅读。JavaScript通常在投入生产之前就被缩小了——主要是出于性能原因。这还提供了一个基本层次的功能模糊,防止技能较低或动机较低的攻击者Google's list of minifiy resources可能是一个很好的起点
# 2 楼答案
瓦丁
使用面向服务器端的web应用程序框架,如Vaadin,其中您的业务逻辑仅存在于完全用Java编写的服务器上,而该框架自动生成web浏览器中表示所需的HTML、CSS、JavaScript、DOM、AJAX和WebSocket代码,这就大大屏蔽了关键代码
任何用户都可以看到自动生成的HTML和JavaScript等等,但这并不意味着什么
黑客将能够操纵客户端代码,但做不了多少。例如,黑客可以更改在弹出菜单中定义值的HTML/JavaScript,以添加另一个意外项目。但是服务器上的Java代码可以检查意外值并处理错误或引发异常
Vaadin执行完整性测试,以验证客户端和服务器是否保持“同步”。黑客入侵客户端代码可能会很快使它们失去同步