vue/angular/react 是否暴露?



我正在和某人交谈,他说像Angular,Vue或React这样的框架 有一个很大的缺点:除了API部分(与服务器上的数据库的交互(,所有其他代码都可以从前端看到,所以任何人都可以窃取你的应用程序。

这是编写富客户端行为的基本事实,与框架无关。这与拥有客户端逻辑有关。例如,对于使用 jQuery 或直接操作 DOM 的站点,也存在同样的问题。对你作品的主要保护不是晦涩(隐藏你的代码(,而是版权法。

代码是客户端的事实有几个后果:

  • 无论在客户端上实现的任何丰富行为如何,都必须验证服务器上的所有操作和输入。
  • 如果存在商业机密或专有的业务流程或计算或类似内容,则不得在客户端实现它们,因为无论您是否混淆代码,它都是可见的,并且可以被其他人看到。
  • 是的,这意味着任何人都可以窃取应用程序的客户端部分。唯一阻止的是您的版权。

但同样,这与框架无关。它与实现部分应用客户端有关。

关于框架的

旁注:启用为Vue.js,React,Svelte等框架编写的代码的服务器端渲染(SSR(变得越来越流行。因此,使用这些框架之一并不一定意味着您正在编写客户端代码:您只能将其用于服务器端呈现。


不过,最近发生了一件有趣的事情,这可能会使对客户端代码进行逆向工程变得更加困难:WebAssembly。使用 WebAssembly,传递给客户端的不是 JavaScript 代码,而是 WebAssembly 字节码。像Java字节码一样,你可以从字节码重新组装源代码,但这是一个非常混乱的过程,结果很难使用。所以,就像真正彻底的混淆一样,它提高了标准,使别人更难接受你的工作并重复使用它。但它只会提高标准,并不能阻止它。(这是WebAssembly的一个附带好处,根本不是它的主要观点。WebAssembly 的伟大之处在于它可以是编译任何其他语言的输出,包括 C、C++、Rust......

JavaScript 代码又紧凑又脏。 这使得访问源代码变得困难,有时甚至不可能

最新更新