什么: NodeJS 应用程序可以作为二进制文件分发吗? IE。您通过 V8 将 .js 应用程序编译为其 native 二进制文件,然后将二进制文件分发给客户端? (如果您完全可以访问 NodeJS 服务器)...或者您正在尽可能地缩小代码?
原因:我们在 NodeJS 中为客户端构建服务器端应用程序,这些应用程序通常必须托管在客户端的服务器上。分发源代码意味着客户可以轻松窃取我们的解决方案并停止支付许可费用。这开启了在我们不知情的情况下轻松逆向工程或重复使用我们的应用程序的可能性。
最佳答案
是的,您可以创建二进制格式。 V8 允许您预编译 JavaScript。请注意,这可能会对 Node 核心做出的假设产生一些奇怪的副作用。
Distributing source code means clients can easily steal our solution and stop paying licensing fees.
仅仅因为您分发二进制文件并不能保护您免受盗窃。他们仍然可以窃取二进制代码或反汇编它。这是通过默默无闻的保护,根本不是保护。
最好为他们提供一个瘦客户端应用程序,该应用程序可以与您的服务器通信并通过不泄露服务器代码来保持服务器代码的安全。
关于javascript - NodeJS 应用程序的安全分发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9413123/