在Node.js中构建插件系统非常简单(使用Include和标准行为...),在我也是编写插件的时候,我就将其用于我的应用程序。
在我的新项目中,我想让用户编写插件,并通过商店/存储库共享它们。
问题是安全性!我们不能让插件拥有对系统的完全访问权限。我只想给插件一个有限的访问权限(没有网络,没有FileSystem等)。或者,也许以某种方式隔离插件(解析器?),删除对所有Node.js插件的访问,并为其提供一些自定义类。 (我见过esprima,但这是一种分析工具)
到目前为止,我还没有找到任何将限制应用到插件的方法。 (或以其他方式实现具有此限制的插件系统)。
有什么主意吗?