node.js - 如何防止我的 Node js 代码被盗?

标签 node.js express

我需要一些建议。我正在考虑使用 NodeJS 和 Express 开发一个新产品。该产品应在本地模式下运行。因为,产品将是信息安全产品,会保留敏感数据。我只是想保证,需要很长时间才能逆转。

那么,如何保护我的代码不被窃取?或者 NodeJS 是正确的选择吗?

您有任何教程或建议吗?

谢谢并致以诚挚的问候..

最佳答案

如果您分发服务器软件,以便您的客户可以自行运行服务器,那么您根本无法保护您的服务器源代码。如果 node.js 可以运行它,那么客户站点上能够物理访问服务器的任何人也都可以看到源代码。

通过客户启用适当的保护,您的服务器源代码将无法被外界使用,但您必须依赖客户正确安装和保护内容才能实现这种情况。

您可以在分发源代码之前对其进行混淆。这种重命名所有变量以赋予它们无意义名称的混淆根本不是真正的安全形式,但它确实使逆向工程能够了解您的代码做了更多工作(可能会阻止某些人投入额外的工作),但这并不能阻止坚定的黑客进行逆向工程。

如果您想要保护的 secret 武器数量相对较少,那么坚定的黑客可以通过额外的混淆工作,仍然可以获取您的算法。

最后,完全保护您的工作内部的唯一真正方法不是分发您的源代码(无论语言或环境如何)以及运行服务并让客户访问您的服务。即使使用 C++ 等完全编译的语言(没有源代码分发),坚定的黑客仍然可以对关键算法或凭据进行逆向工程。

如果客户只接受他们购买并在其场所运行的服务器,那么我的猜测是您对这个逆向工程问题考虑得太多了。除了混淆之外,您尝试做的任何事情都会使您的产品和销售变得复杂,并使您的销量显着减少,而无论如何都无法真正阻止坚定的黑客。

关于node.js - 如何防止我的 Node js 代码被盗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57895869/

相关文章:

javascript - Node : check latest version of package programmatically

javascript - 发布 - 无法获取错误 - 本地服务器

node.js - 如何在连接中向中间件添加模式?

javascript - 使用连接表单上传文件

node.js - Azure 将 ES6 与 Nodejs 应用程序结合使用

javascript - 是否可以将 browserify-css 与 Factor-bundle 一起使用?

javascript - 电话应用程序 : Cloud Storage vs Local

javascript - 传递给用户模型时表示 req.body 未定义

json - 模板渲染错误: (unknown path) In NODE JS

node.js - mean.io 什么是设置管理员用户 + 管理模块的最佳方式