因为某些原因,暂定技术选型是使用js引擎,所以现在面临的问题是,js代码会被浏览器加载,直接导致了源码的泄露。
因为是js引擎所以核心部分的代码都是js实现的,有大佬能指点一下吗?
学院小白,特向业界前辈们请教。
如果你想你的js代码完全不被人看到?暂时看来是不可能的。
但是,让别人看起来费解一点还是可以的。
类似webpack、Gulp等工具对代码进行打包,可以将多个JS文件合成一个,对换行、回车、空格等进行删除,一些变量名也会发生改变,这使代码的可读性变差了,起了一定的保护作用
只要使是JS代码的地方,都可进行加密混淆,使代码不可读。
js代码可以通过混淆压缩和加密,增加人工阅读的难度。
混淆有专门的工具可以做,其原理在于,将各种函数名、变量名换成没有意义的字符,通过内联(inline)一些函数或者插入一些干扰代码,以及加密字符串等常量,让程序更难阅读。
参考下 https://blog.csdn.net/hefeng6500/article/details/80024810
1、代码混淆
通过代码混淆的工具(百度直接可以找到很多),将js代码混淆成浏览器可以解析,但是人很难阅读的代码,加大copy的难度
2、逻辑下层
重要逻辑下层到后台.举个例子:想在web端实现图片格式转换或者清晰度的功能,但是不想用户获得这段代码,可以吧这串逻辑放到后台,前端传入图片和想要实现功能的代码(比如图片格式转换),在后端处理完后再将处理后的图片传到前台显示出来。这样代码基本不会因为js而泄露