我想构建一个类似于cloud9 ide的原型应用程序。让它变得很酷的是你可以使用它来运行服务器端代码,我认为这样做会非常危险。
这怎么可能? 或至少关于 c9 如何执行和创建服务器实例的概念
是否有使用node.js具有相同功能的开源项目?
答案 0 :(得分:1)
他们可能使用某种虚拟化来运行服务器代码,这样就包含了代码(您可以使用LXC之类的东西来实现这一点。)
Cloud9 is actually open source,并在node.js上运行
答案 1 :(得分:1)
@Ezequiel说的是什么,但也是:
有https://gf3.github.io/sandbox/,它产生一个新节点进程,该进程在使用http://nodejs.org/api/vm.html创建的受限环境中执行代码。
看看消息来源以获得一个想法:
sandbox.js
生成一个运行shovel.js的新进程,并使用STDIN发送代码shovel.js
创建了运行代码的环境执行过程可以作为没有权限的用户运行。
PS。我并不是说这是完全安全的(vm并没有声称是这样,请参阅vm.runInNewContext
)