如何以安全的方式从字符串运行javascript代码

问题描述 投票:2回答:1

我找到了一些答案,但是答案很旧,我想知道如何解决?

我已经看到eval()功能不安全:

Alternate for eval() to execute auto-generated JS code from the server

那么,为了以隔离的安全方式运行javascript代码,我有什么选择?

javascript
1个回答
-1
投票

(如前所述,这个答案已经过时,所提出的解决方案很容易被打破)。

当前,secure ecmascript的草案尚未被批准/实施。具有不错的浏览器支持(代理是es6功能)的一种黑客正在使用proxieswith创建沙箱。

您只需要编写一个代理,它为每个请求的键返回null,除了某些安全功能。with每当需要eval之外的变量时(例如window),都将询问代理,因此,请提供null而不是真实的var。

查看此网站的教程:code sandbox

© www.soinside.com 2019 - 2024. All rights reserved.