小程序为了安全把 eval 禁了是否能做个沙箱执行动态 JavaScript?
发布于 5 年前 作者 zhaojun 13086 次浏览 来自 问答

小程序为了安全把 eval  Function 禁了,是否能做个沙箱执行动态 JavaScript?好比 nodejs 的 VM 模块。

既然 wxs 都实现了,实现这个功能应该是很容易的事吧?

10 回复

new Function 也不能用了呗?我现在业务必须得用呀。

不算啊,这其实就是你拉群数据 根据数据不同做不同渲染嘛

这里主要是为了防止远程加载代码,而不是别的

所以并不是提供vm就能解决的。

不知道你们是什么场景需要只用eval呢

小程序运行起来后,从远端动态读过来自己做的 简化版的 javascript,按自己做的 parse、interpreter。这算不算远程加载代码?

审核不会太关注技术实现是怎么样的

只要符合类目要求,并且没有远程加载代码,问题不大的

如果自己定义一种类似 javascript 的语言,比如一种简化版的 javascript, 自己做 parse、interpreter,会不会通不过审核?

我们需要执行用户定义的动态脚本,好像游戏中的 lua 做的事情

并且恐怕我的业务里做不了 @易水寒 的简易js引擎。

我用到了规则引擎 @林超 [nools](https://github.com/noolsjs/nools)

这个在小程序中是做不到的

回到顶部