小程序为了安全把 eval 禁了是否能做个沙箱执行动态 JavaScript?

发布于 6 年前作者 zhaojun13287 次浏览最后编辑 6 年前来自 ask

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

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

10 回复
taosu
taosu1 楼6 年前

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

fengmin
fengmin2 楼6 年前

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

epeng
epeng3 楼6 年前

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

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

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

fangmeng
fangmeng4 楼6 年前

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

xiongli
xiongli5 楼6 年前

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

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

ayi
ayi6 楼6 年前

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

dzhao
dzhao7 楼6 年前

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

mluo
mluo8 楼6 年前

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

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

guiyingma
guiyingma9 楼6 年前

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

xiajun
xiajun10 楼5 年前

@phoneli