概要内容
- 代码混淆
- 环境准备
- 如何配置UglifyJsPlugin混淆参数
- 混淆效果
- Demo源码工程
代码混淆
定义:代码混淆(Obfuscated code)亦称花指令,是将计算机程序的代码,转换成一种功能上等价,但是难于阅读和理解的形式的行为。通俗一点讲就是你写的代码,通过混淆工具,把你的源代码混淆得别人看不太懂。
起因:由于Web可以用浏览器调试工具,直接查看到我们的源代码,如果我们的源代码中包含了敏感信息(比如:加密密钥、服务器内部接口地址等),那么对于不怀好意的人,就可能拿着这些东西攻击我们的服务器,所以我们需要把我们的代码去掉注释、混淆代码等,这样别人就没那么容易看懂我们的代码了,提高服务被攻击的门槛。
环境准备
由于我尝试使用WebPack3.x的版本,利用UglifyJsPlugin版本来混淆打包,发现各种配置问题,然后导致打包出问题,所以推荐WebPack4.x 以上版本。我的环境如下
1 | dependencies": { |
如何配置UglifyJsPlugin混淆参数
由于混淆需指定混淆哪些代码,不能把JS提供的API、第三方库的API相关的代码也给混淆掉,所以需要在写代码时一定要养成养好的编码规范,这样在配置混淆正在表达式时就非常好些了。以下介绍我的2种命令规范,所以下面的混淆正则表达式就非常好写。
1
2 m_xxx : 成员变量
__function : 方法名
1 | new UglifyJsPlugin( |
混淆效果
Demo源码工程
参考文献
以上: 如发现有问题,欢迎留言指出,我及时更正