如何销毁vm runInNewContext

时间:2016-03-14 15:09:21

标签: javascript node.js virtual-machine sandbox

我在Node.js中构建一个小型脚本引擎

我的用户可以从网页编辑器启动和停止脚本。由于脚本可能不安全,因此使用runInNewContext函数与VM模块一起运行。

脚本包含一个带有onMessage-callback的处理程序,一切正常。处理程序正在被触发,但我找不到任何破坏脚本的方法。这些脚本永远存在。我开始这样的脚本:

var sandbox = {
  "setTimeout": setTimeout,
  "setInterval": setInterval,
  "handler": handler,
};

var vmScript = vm.createScript(script.content);
vmScript.runInNewContext(sandbox);

我无法以任何方式杀死剧本。

我试图用

删除vmScript对象
delete vmScript;

但这并不奏效。有没有人设法阻止这样的剧本?

0 个答案:

没有答案