如何保护node.js项目免受逆向工程和修改

时间:2015-01-07 11:50:09

标签: javascript node.js minify

我想保护我的node.js项目而不进行修改,因此我想到了一个想法:缩小源代码。

这里有一个question关于缩小一个文件夹中的javascript文件。

现在我想从不同的模块中缩小多个JavaScript,如下所示

 var a = require('../app/controller/controller1.js');
 var b = require('../lib/utils.js');
 ...

成一个文件,可能吗?或者有什么好办法吗?

编辑感谢@Arjun,加密是一种很好的方法,JXcore似乎有一些问题......

2 个答案:

答案 0 :(得分:1)

如果出于安全原因缩小js文件,则会浪费时间,因为这些缩小的文件可以转换回可读格式。

最好的选择是使用JXCore工具进行部署。它会将应用程序源代码加密为另一种可由JXCore应用程序执行的格式。

JXCore Website

JXCore Tutorial/intoduction

答案 1 :(得分:0)

根据上述评论,

您可以使用YUICompressor进行缩小。

YUI Compressor是用Java编写的(需要Java> = 1.4)并依赖Rhino来标记源JavaScript文件。它首先分析源JavaScript文件,以了解它的结构。然后它打印出令牌流,省略尽可能多的空白字符,并用适当的替换(在eval等邪恶特征面前)用1(或2或3)字母符号替换所有本地符号或者,YUI Compressor通过不混淆包含邪恶语句的任何范围来采取防御性方法.CSC压缩算法使用一组精细调整的正则表达式来压缩源CSS文件。 YUI Compressor是开源的,因此请不要犹豫,查看代码以了解它是如何工作的。

您可以使用

java -jar yuicompressor.jar -o .js$:.min.js *.js

为了缩小文件夹中的所有javascript文件。

此外,您可以将其与您的IDEA集成,这可以帮助您自动缩小。这意味着每当你更改代码时它都会缩小你的js和css文件。

YUICompressor适用于雅虎公司。谷歌还引入了Granuale进行缩小