我想Obfuscate + Minify我的Angular JS代码,以便不公开它,如果有人试图解码它,那么就把它变成障碍。代码正在运行服务器。
注意:将来我们计划将 http 转移到 https 。
我见过许多选项,例如 Gulp,Google Closure Compiler,UglifyJS 等许多工具,用户可以下载和混淆代码,如 jsob,javascript obfuscate 等
我需要建议并提出一些问题。
答案 0 :(得分:7)
1 - 这实际上取决于你想要实现的目标。如果你真的想保护你的代码隐藏你的业务逻辑,你应该寻求一个有弹性的解决方案,而不是依赖于一个很容易打败的缩小或混淆工具。
2 - Https只是意味着您的浏览器和网站之间的通信是加密的。 Htt也可以解密,因此应用其他保护机制是有意义的
4 - JavaScript Obfuscator和其他几个工具不保护代码,它们是简单的混淆器,所以它们可以在几分钟内轻松反转,这就是为什么有些人认为它不值得保护代码的原因客户端。实际上,您可以使用简单的JS优化器获取大部分原始代码。 ClosureCompiler和UglifyJS正是这种不同的方法,它们减小了代码的大小并对其进行了优化,它们不提供代码保护。
3,5 - 我发现this blog post from js13kGames competition creator对我的案子非常有用。他提出了一个似乎更合适的解决方案 - Jscrambler。 IMO你应该试一试,因为它结合了代码转换与反调试和防篡改功能。例如,您还可以将代码锁定到预定义的域列表或设置到期日期以提供可过期的演示。也许它也适合你的情况,因为它支持Angular。
答案 1 :(得分:0)
我使用this answer找到了一个很好的解决方案。 如果使用隐式anotation,请首先使用gulp-uglify在uglify进程中不丢失服务名称。