我在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;
但这并不奏效。有没有人设法阻止这样的剧本?