html引入js文件-uni-app教程|在HBuilderX中配置JS/NVUE文件原生混淆和加密

2023-08-24 0 3,272 百度已收录

可以解压App安装包。 前端资源一般以纯文本形式存储在安装包中。 为了避免解压后敏感信息被窃取,需要进行安全处理。

因此,DCloud在App端提供了原生的js/nvue文件混淆功能。 5+App或wap2app支持指定js的原生混淆。 uni-app 支持指定 nvue 文件的本机混淆。

原来的混淆安装包解压后,看到的都是乱码。

不过要小心:

1.没有绝对的安全,非常重要的信息应该保存在服务器而不是后端

2、运行时资源代码解密影响执行性能。不建议混淆所有包,只购买一些需要保护的文件。

具体使用方法如下:

第一步,在manifest.json文件中配置要混淆的文件列表

html引入js文件-uni-app教程|在HBuilderX中配置JS/NVUE文件原生混淆和加密

打开manifest.json文件,切换到“源码视图”,根据不同的项目类型进行配置。

a) 5+APP/wap2app项目

当应用程序运行时,打开页面时需要花费更多时间来恢复混淆的文件。 为了减少对运行速度的影响html引入js文件,5+App/wap2app仅支持js文件原生混淆。

在“plus”->“confusion”->“resources”节点下添加要混淆的js文件列表:

Resource下的键值为js文件路径(相对于应用根目录),值为空的JSON对象(大括号)。

从HBuilderX2.6.11+开始,在iOS11+设备上使用WKWebview也可以支持JS原生混淆

WKWebview采用了更严格的安全机制。 原生混淆的js文件必须在html页面中使用自定义合约头plus-confusion://引用:

在manifest.json的“plus”->“confusion”->“resources”节点下添加要混淆的js文件列表。

由于自定义合约仅在iOS11及以上设备上支持html引入js文件,因此建议将应用程序支持的deploymentTarget最低版本配置为10.0:

注意:iOS 平台上的 WKWebview 需要 iOS11+ 系统支持原生混淆。 对于5+App/wap2app项目,如果想要兼容iOS11以下的设备,只能强制使用UIWebview内核,但苹果很快就会放弃UIWebview(详情)。 如果关注native混乱,从长远来看,建议升级uni-app。

b) uni-app 项目

uni-app的js运行在独立的jscore中,而不是webview中,因此不受iOS平台WKWebview不支持原生混淆的限制。

uni-app的vue页面中的js整体编译成一个大的js文件。 编译后,不再是vue源码,但也不再是乱码了。 混淆这个大的统一文件可能会对性能产生影响。

所以uni-app只支持nvue/js文件的独立混淆。

HBuilderX2.6.3+版本v3编译器支持独立js文件的原生混淆。 开发者可以将受保护的js代码放入独立的js文件中,并在vue页面中使用导入引用; 如果这个js也是nvue页面引用导入的,那么nvue页面也需要配置原生混淆才有效。 另外,main.js 原生也可以混淆。

老版本不支持vue页面原生混淆,开发者只能将受保护的js代码转移到nvue文件中进行保护。

HBuilderX2.3.4+支持nvue文件的原生混淆。

如果nvue页面引入了外部js文件,原生会混淆在一起。 但如果这个js也被其他未加密的文件引用,那么该js仍然会暴露在安装包中。

html引入js文件-uni-app教程|在HBuilderX中配置JS/NVUE文件原生混淆和加密

如果要发布到多个终端,最好将要保护的js写在app-plus的条件编译中,否则发布到其他终端时原生很难混淆。

从HBuilderX2.3.4开始,uni-app项目支持nvue文件原生混淆

在“app-plus”->“confusion”->“resources”节点下添加要混淆的nvue文件列表:

esource下的键值为nvue文件路径(相对于应用程序根目录),值为空的JSON对象(大括号)。

从HBuilderX2.6.3+开始,uni-app项目使用v3编译器支持vue页面引用的js文件原生混淆

在manifest.json文件中添加要混淆的js文件列表:

html引入js文件-uni-app教程|在HBuilderX中配置JS/NVUE文件原生混淆和加密

在vue文件中引用混淆后的js文件:

第二步:提交云打包

配置好原生混淆文件列表后,需要提交云端打包。 注意,在App云打包对话框中,需要勾选“本机混淆配置的js文件”

为了保证加密数据的安全,加密算法和密钥不对外公开,​​因此离线打包很难支持原生混淆。

熟悉native的开发者可以将敏感信息存储在native代码中,然后与js进行交互。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 html html引入js文件-uni-app教程|在HBuilderX中配置JS/NVUE文件原生混淆和加密 https://www.wkzy.net/game/148735.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务