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