假设我有一串我想要执行的NodeJS代码,但它不受信任,因此我必须使用vm.runInNewContext(stringOfCode)
对其进行沙箱化。出现了两个问题:
child_process.fork()
,但我到底该怎么做?谢谢!
答案 0 :(得分:2)
sandbox
提供的vm.runInNewContext()
参数是沙盒代码可用的对象。从里面放任何你需要使用的东西。它在文档中描述:http://nodejs.org/api/vm.html#vm_vm_runinnewcontext_code_sandbox_filename
while(true);
。正如你自己提到的那样,chlid_process.fork()
shoudl就是用来做的。文档在这里:http://nodejs.org/api/child_process.html#child_process_child_process_fork_modulepath_args_options
但是在这种情况下,您无法将对象传输到新进程,而是应该使用消息传递。
最后有一个库可以简化上面的所有内容: