我正在为一家公司开发一个私人web应用程序,他们让我使用他们的服务器来托管它。我想阻止他们访问源代码。我怎么能做到呢?他们的服务器运行的是debian,他们有root权限。
我找到了一些解决方案,比如将应用程序打包在一个可执行文件中,但应用程序有很多依赖,我使用环回。io框架;这使得包装非常困难。
有不同的解决方案吗?
答案是否定的,您不能阻止他们看到源代码。如果他们拥有源代码,那么想要这样的东西甚至是不道德的。如果您拥有源代码,那么将其最小化。但在你这么做之前,考虑一下。这会提高你的客户对你的信任吗?甚至二进制源代码也可以逆向工程。对于像Javascript这样的解释性语言,您甚至无法做到这一点。如果你担心他们不会付钱给你,除非你保护源代码,那么就在本地服务器上实现这个项目,并创建一个视频来支持你声称项目已经完成。虽然,一切都取决于实际的协议,但可以理解的是,你不会与我们分享。
您不能阻止他们看到源代码,但是您可以使用browserify和uglifyjs使其更难阅读:
browserify index.js --no-bundle-external --node | uglifyjs -c > bundle.js
不幸的是,这将不会保留错误的原始堆栈跟踪,并将使其更难调试。