运行 不公开其源代码的 NodeJS 服务器
Run NodeJS server without exposing its source code
对于一个普通的NodeJS实例,我们可以通过node server.js
来启动它。这样做的问题是,在生产服务器中,当黑客破坏我的机器时,他们将能够查看和复制我所有的服务器端源代码。这是一个很大的风险,因为源代码包含知识 属性。有没有办法防止它发生?
例如,在Java中,代码通常构建到jar
包或.class
文件中,我们只部署构建的文件。当黑客入侵机器时,他们只能看到 jar
或 .class
文件,这些文件只是字节码,无法理解。
我的 Python Flask 服务器也有类似的问题。
你知道反编译 java class 个文件有多容易吗?
说真的,你将 jar 放入 IntelliJ IDEA(或几乎任何其他 IDE),它会吐出足够可读的反编译代码以进行逆向工程。与解释代码相比,编译代码提供无 安全优势。
与其尝试 "encrypt" 或 "hide" 您的 NodeJS 代码,不如更好地保护服务器?你永远不会超过别人对你的代码进行逆向工程,保护巧克力所在的盒子比给巧克力下毒要好得多。
我现在正在考虑 3 个备选方案,希望听到更多关于这个主题的信息:
http://jxcore.com/home/ - "JXcore is a Node.JS fork with additional features." 它也支持 运行 其他平台上的 nodeJS 代码
https://jaredallard.me/nexe/ - "Compile your Node.js project. No sources aboard."
http://enclosejs.com/ - "Compile your Node.js project. No sources aboard."
对于一个普通的NodeJS实例,我们可以通过node server.js
来启动它。这样做的问题是,在生产服务器中,当黑客破坏我的机器时,他们将能够查看和复制我所有的服务器端源代码。这是一个很大的风险,因为源代码包含知识 属性。有没有办法防止它发生?
例如,在Java中,代码通常构建到jar
包或.class
文件中,我们只部署构建的文件。当黑客入侵机器时,他们只能看到 jar
或 .class
文件,这些文件只是字节码,无法理解。
我的 Python Flask 服务器也有类似的问题。
你知道反编译 java class 个文件有多容易吗?
说真的,你将 jar 放入 IntelliJ IDEA(或几乎任何其他 IDE),它会吐出足够可读的反编译代码以进行逆向工程。与解释代码相比,编译代码提供无 安全优势。
与其尝试 "encrypt" 或 "hide" 您的 NodeJS 代码,不如更好地保护服务器?你永远不会超过别人对你的代码进行逆向工程,保护巧克力所在的盒子比给巧克力下毒要好得多。
我现在正在考虑 3 个备选方案,希望听到更多关于这个主题的信息:
http://jxcore.com/home/ - "JXcore is a Node.JS fork with additional features." 它也支持 运行 其他平台上的 nodeJS 代码
https://jaredallard.me/nexe/ - "Compile your Node.js project. No sources aboard."
http://enclosejs.com/ - "Compile your Node.js project. No sources aboard."