如何在Node.js中安全地执行未知的Javascript代码?

我需要运行由未知来源validation或sorting的东西提供的代码。

如何在Node.js中安全地执行此操作?

Python有RestrictedPython ,类似吗?

浏览器也有ADsafe ,但它可以在Node.js中使用吗?

节点有一个很好的工具, node.vm 。 基本上你可以在自己的上下文中运行一个脚本,有效地对它进行沙箱化。

当然,由于Node运行在一个线程上,有害的脚本总是可以closures你的服务器,只需做:

while (true) {;} 

为了完全安全,您需要产生一个新的进程,并使用消息传递进行通信。