【问题标题】:Hide Node js application source code隐藏 Node js 应用程序源代码
【发布时间】:2015-07-26 12:28:03
【问题描述】:

我正在为一家公司开发一个私有 Web 应用程序,他们要求我使用他们的服务器来托管它。我想阻止他们访问源代码。我怎样才能做到这一点?他们的服务器正在运行 debian,并且他们具有 root 访问权限..

我找到了一些解决方案,比如将应用程序打包到一个可执行文件中,但应用程序有很多依赖项,我正在使用 loopback.io 框架;这使得包装非常困难..

任何不同的解决方案?

【问题讨论】:

  • 你的意思是使用类似 uglifyjs 的东西吗??
  • 通过 obsecurity 实现的安全性并不是保护您的应用程序的有效方法。您也许可以考虑将软件变成 SaaS,但我很好奇您为什么要对公司隐藏源代码?合同中可能有一个条款规定您是否必须交出来源。如果没有,则将其设为 SaaS。否则,你就是 SOL;给他们来源。根据您的合同,混淆来源也可能会给您带来一些法律问题,因此您绝对应该与律师一起处理。
  • 我想阻止他们为他们的业务分发应用程序。

标签: node.js loopbackjs software-packaging


【解决方案1】:

答案是否定的,您不能阻止他们查看源代码。如果他们拥有源代码,那么想要这样的东西甚至是不道德的。如果你拥有源代码,那么minify 它。但在你这样做之前,请考虑一下。它会提高你的客户对你的信任吗?甚至二进制源代码也可以进行逆向工程。使用解释性语言,如 Javascript,您甚至无法做到这一点。如果您担心除非您保护源代码,否则他们不会付钱给您,那么请在本地服务器上实施该项目并创建一个视频来支持您声称该项目已完成的声明。虽然,一切都取决于实际协议,您不会与我们分享这是可以理解的。

【讨论】:

    【解决方案2】:

    您无法阻止他们查看源代码,但您可以使用browserifyuglifyjs 使其更难阅读:

    browserify index.js --no-bundle-external --node | uglifyjs -c > bundle.js
    

    不幸的是,这不会保留错误的原始堆栈跟踪,并且会使其更难调试。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-09
      • 1970-01-01
      • 2020-12-20
      • 2011-01-13
      • 1970-01-01
      • 1970-01-01
      • 2017-09-17
      相关资源
      最近更新 更多