我使用nodejs作为客户端浏览器和服务器之间的中间人来处理所有请求。我正在尝试将nodejs用作筛选器工具,并突出显示(如果不是)所有恶意脚本。但是我意识到nodejs让脚本以当前环境特权运行。因此,我决定通过安装沙箱(npm install sandboxgit clone git://github.com/gf3/sandbox.git)在新的上下文中运行它。
但是,当我运行 Node 时,出现以下错误:



有任何想法吗?

最佳答案

您是否看过node 0.4.6的内置沙箱功能。

var localVar = 123,
    usingscript, evaled,
    vm = require('vm');

usingscript = vm.runInThisContext('localVar = 1;',
  'myfile.vm');
console.log('localVar: ' + localVar + ', usingscript: ' +
  usingscript);
evaled = eval('localVar = 1;');
console.log('localVar: ' + localVar + ', evaled: ' +
  evaled);

// localVar: 123, usingscript: 1
// localVar: 1, evaled: 1

09-25 14:49