我使用nodejs作为客户端浏览器和服务器之间的中间人来处理所有请求。我正在尝试将nodejs用作筛选器工具,并突出显示(如果不是)所有恶意脚本。但是我意识到nodejs让脚本以当前环境特权运行。因此,我决定通过安装沙箱(npm install sandbox
或git 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