我是一个完整的Node noob,所以如果这个问题有明显的答案我会道歉。
我正在寻找一个可以从不受信任的来源(即社区提交)运行插件的网络应用程序。因此,我需要将这些插件锁定到沙盒中,在沙盒中只允许某些访问(无法写入磁盘等)。理想情况下,插件只能使用某些已批准的节点包和API。
这在Node中是否可行?如果是这样,你能指点我一个能让我入门的包裹或文件吗?
答案 0 :(得分:3)
以下是一小部分可以帮助您的项目:
https://github.com/gf3/sandbox
https://github.com/hflw/node-sandbox
https://github.com/bcoe/sandcastle
https://github.com/wearefractal/boxy
我建议第一个(http://gf3.github.io/sandbox/),因为它更成熟。
答案 1 :(得分:1)
我也会使用我的图书馆为该列表做出贡献:https://github.com/asvd/jailed。除了不受信任的代码的沙箱(在受限制的子进程中)之外,它还提供了在沙箱中导出任何函数集的机会,从而为沙盒代码定义了一个自定义API。