Node.js 角5源保护

Node.js 角5源保护,node.js,angular,Node.js,Angular,我们正在计划使用angular 5和node.js的新产品。该产品将在客户环境中本地运行 我们的问题如下:如何保护我们的代码不被任何客户窃取?在dotnet中,我可以将所有源代码密封到加密的dll或类似的东西中。在angular 5中可以做什么 谢谢。您唯一能做的就是添加另一个丑陋的保护层,如字符串加密。考虑一些浏览器无法读取污秽源代码的风险。 我们的问题如下:如何保护我们的代码不被任何客户窃取 偷窃是违法的。因此,最简单的解决办法是不与罪犯做生意 在dotnet中,我可以将所有源代码密封到加密

我们正在计划使用angular 5和node.js的新产品。该产品将在客户环境中本地运行

我们的问题如下:如何保护我们的代码不被任何客户窃取?在dotnet中,我可以将所有源代码密封到加密的dll或类似的东西中。在angular 5中可以做什么


谢谢。

您唯一能做的就是添加另一个丑陋的保护层,如字符串加密。考虑一些浏览器无法读取污秽源代码的风险。

我们的问题如下:如何保护我们的代码不被任何客户窃取

偷窃是违法的。因此,最简单的解决办法是不与罪犯做生意

在dotnet中,我可以将所有源代码密封到加密的dll或 差不多吧

那不行

为了让客户机运行代码,客户机的CPU需要理解代码。CPU比人类笨得多,所以如果CPU能理解代码,那么人类也能理解。如果对代码进行加密,则需要对其进行解密,否则CPU将无法理解

由于启动器需要能够对代码进行加密,因此解密密钥必须是启动器的一部分,因此,加密密钥必须存储在客户机的计算机上:因此,客户机拥有加密密钥。如果您通过网络传输加密密钥,您仍然需要通过客户机的网络进行传输:因为客户机拥有网络,所以他们可以拦截任何流量,从而拦截密钥。即使您保证了所有这些的安全:解密的代码仍然在客户端计算机的RAM中,客户端对该计算机具有完全的管理访问权限

这是您的主要问题:

该产品将在客户环境中本地运行

那根本不管用。如果你不希望你的客户拥有代码,那就不要给他们代码。在本地托管代码,并仅通过一个狭窄、安全、定义良好的接口为客户端提供远程访问。这就是谷歌的方法

如果真的没有其他选择,您可以给客户端一台安装了代码的计算机,而客户端无权访问该计算机。但是,请注意,除非您完全控制系统CPU、RAM、主板、固件、所有总线和扩展端口、机箱、网络连接等的每个组件,否则通常仍然可以以某种方式访问。这是游戏控制台的方法

在angular 5中可以做什么

对于这个问题,有几种标准方法。这取决于你的客户偷你产品的确切原因

如果他们觉得质量不符合价格,提高质量或降低价格。另外,试着找出为什么他们觉得质量不符合价格。也许文档有问题,客户甚至不知道你的产品到底有多棒

如果他们负担不起,降低价格或进入另一个市场。另外,退一步,问问你的营销部门,为什么他们在市场上以市场无法承受的价格销售产品。一个典型的例子是公司以相当于几年生活费的价格向学生销售产品

提供不仅仅是销售应用程序的服务;你的客户将为这些服务付费


把产品做得很好,让你的客户想奖励你,甚至不想偷东西。不,这不是一厢情愿;Audio Damage是一家成功做到这一点的公司:在竞争激烈的市场中,复杂的版权保护和许可计划、高价格和低质量以及猖獗的盗版行为司空见惯,他们成功地以更低的价格和更高的质量销售产品,零版权保护,还有30天无问题现金返还保证。

很少,因为浏览器需要能够阅读代码。你能做的最好的事情就是缩小/丑化它当你可以缩小或丑化代码时,它最终必须被提供给客户,然后他们将有能力对其进行反向工程。你想要的是不可能的,甚至是浪费时间去考虑。非常感谢你的详细回答。我认为你的观点有道理。