为进一步提升小程序的安全性和用户体验,目前平台对提审的小程序均需进行安全检测,在检测过程中,发现有小程序采用内置 JavaScript 解释器(如 eval5、estime、evil-eval 等)的方式,动态执行 JS 代码、对小程序 wxml 代码进行热更新。对于使用解释器的小程序,平台将自 2022 年 7 月 6 日开始在代码审核环节进行驳回,请各位开发者于 7 月 6 日前完成自查、修复。
具体违规案例
一、动态下发代码执行
某小程序引入 JS 解释器模块,在预埋场景下触发动态执行代码的逻辑,从而从服务端后台拉取要动态执行的代码或字段,在 JS 解释器中动态执行代码;
二、小程序页面文件热更新
下面这个例子为某小程序引入 JS 解释器模块执行小程序热更新;
三、其他情况
部分数值计算类小程序会引入解释器来执行数学表达式运算功能,对于数值计算,请使用其他方式,不得使用解释器提供的动态 eval 代码执行能力实现;
四、修复指引
若小程序在代码提审阶段因存在解释器被要求整改,请根据代码提审反馈,自查相应的文件,在删除相应的解释器文件后重新提交代码审核;
其他常见问题
Q1: 小程序中解释器文件是第三方包依赖引入的,这种如何处理?
A1: 平台不允许开发者使用 JS 解释器来动态执行代码,若小程序代码中存在 JS 解释器逻辑,请根据小程序审核驳回细节自行移除或联系依赖提供者、服务商移除后再次提交审核;
Q2: 经过自查后提交代码仍提示存在解释器,这种如何处理?
A2: 请确保提交的小程序代码中不存在解释器文件以及 JavaScript 代码解析模块非正常使用,若仍存在问题,请提交客服复查。