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

5

我需要运行来自未知源的代码,该代码用于验证或排序某些内容。

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

Python有RestrictedPython,类似的东西有什么吗?

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

1个回答

11

Node有一个绝妙的工具可以做到这一点,即node.vm。基本上,您可以在其自己的上下文中运行脚本,有效地将其隔离起来。

当然,由于Node在单个线程上运行,一个有害的脚本总是可以通过执行以下操作关闭您的服务器:

while (true) {;}

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接