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