2013-04-25 59 views
7

我是一个完整的Node noob,所以我很抱歉如果这个问题有明显的答案。用于Node.js的沙盒插件

我正在创建一个web应用程序,它将运行来自不受信任来源(即社区提交)的插件。所以我需要将这些插件锁定到只允许某些访问的沙箱中(无法写入磁盘等)。理想情况下,该插件只能使用某些经过批准的节点包和API。

这是可能的节点?如果是这样,你可以指向我的包或文件,让我开始?

+0

在github上有一个名为“node-sandbox”的模块。它基本上在另一个进程中运行不受信任的代码。这是非常准系统的海事组织,但它可以完成这项工作。当我从github上下载一个新模块来发现奇怪的不规则行为并且从未找到一个模块时,我通常会很快读取代码。我知道这并不是最好的,因为代码之间的更新更新,但我想我们必须在某些时候相信人。 – 2013-04-25 14:55:15

+0

嗯,我不能让它信任我的情况,因为我会接受代码“自动”作为插件。所以我需要保护核心应用程序免受敌对/编写不好的插件的影响。我将看看节点沙箱。 – RationalGeek 2013-04-25 17:31:11

回答

1

我也将捐献给我的图书馆:https://github.com/asvd/jailed。除了对不受信任代码进行沙箱处理(在受限制的子进程中)之外,还可以导出沙箱中的任何函数集,从而为沙箱代码定义自定义API。