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