App的安装包都可以解压前端资源,一般都是明文寄存在装置担保中,为防备解压后泄漏敏感信息,需要进行平安处理

由此DCloud提供了App端的js/nvue文件的原生混淆黑白5+App或wap2app支撑对指定的js进行原生混淆uni-app撑持对指定的nvue文件原生指鹿为马

原生混淆黑白后的安装包,解压后看到的都是乱码

但需要留神:

1.没有绝对的安全,非常主要的信息,该当保留在服务器而不是前端

2.运行期对资源代码解密是影响执行性能的不提议全包指鹿为马,仅挑拣需要保护的个别文件处理即可

具体使用方法如下:

第一步、在manifest.json文件中配置如果混淆黑白的文件列表

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

a) 5+APP/wap2app项目

应用运行期间在页面打开常常需要损耗更多工夫进行混淆文件还原,为削减对运行速度的影响,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及以上设备才撑持,提议配置应用撑持的最低版本deploymentTarget为10.0:

注意:iOS平台WKWebview需要iOS11+体系才支撑原生混淆黑白5+App/wap2app项目,如果如果兼容iOS11以下设备只能强制运用UIWebview内核,但苹果将要废弃UIWebview(详情)如对原生混淆很看重,从久远考虑,提议改造晋级uni-app

b) uni-app项目

uni-app的js运转在独立的jscore中,而不是webview中,所以不受iOS平台WKWebview不支撑原生混淆的限制

uni-app的vue页面中的js,是整体编译到一个大js文件中的,它经过编译,已经不再是vue源码了,但还不是乱码对这个统一的大文件进行混淆会面有影响性能

所以uni-app只撑持独立混淆视听nvue/js文件

  • vue页面

HBuilderX2.6.3+版本v3编译器撑持对独立的js文件进行原生混淆,开发者可以将要掩护的js代码写到独立的js文件中,在vue页面中运用import援用;如果此js同时被nvue页面import引用,则nvue页面也需要配置原生混淆才有用另外main.js也可以原生指鹿为马

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

  • nvue页面

HBuilderX2.3.4+版本撑持nvue文件的原生指鹿为马

如果nvue页面引入了外部的js文件,会面被一起原生混淆但如果这个js还被其他不加密的文件引用,则该js仍然见面暴露在装置包中

  • vue页面和nvue页面同时应用加密js里的数据或方式(HBuilderX2.6.3+版本v3编译器)
    配置该js加密,并在App.vue中援用该js,把该js中的数据或方式赋值给全局对象,若是globalData,vue和nvue中通过访问getApp访问共享数据或方式即可,无需配置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文件列表:

在vue文件中援用混淆黑白的js文件:

第二步、提交云端打包

配置好原生混淆的文件列表后,需要提交云端打包,留意在App云端打包对话框中需要勾取舍“对配置的js文件进行原生混淆”

为了包管加密数据的安全性,加密算法和key不对外公开,因此离线打包回天乏术撑持原生混淆视听
熟悉原生的开发者但是将敏感信息寄存于原生代码中,再与js进行交互

本文来源于uni-app官网本文仅供应大家学习,如有侵权及时沟通删除!


<仙宝云(www.xianboss.com)是国内著名商城体系及商城网站建设提供商,为企业级商家提供零售商城、B2B2C多用户商城系统、仙宝云商城体系、微信分销体系、小程序商城、微分销体系等多端商城网站建设解决方案>

申明:本网站局部文章和图片根源网络编辑,如有侵权及时沟通删除,神仙宝商城原创文章,转载恳求注明起源。

立即

咨询

400电话

电话咨询

400-1875-778

微信咨询

李经理

微信扫一扫加好友

下载源码

返回顶部