既然是沙箱,就要保证隔离性和安全性,防止恶意注入代码导致系统底层的一些能力被恶意使用(比如修改磁盘信息)。
JS Sandbox 目的是为了隔离各种 JS 执行环境。比如说浏览器不同的网页,就是不同的每个网页就是不同的 JS 执行环境 / 进程,在浏览器中打开一个网页同样也新启动了一个 JS 进程。这样的话,网页 web 代码内容必须通过 IPC 通道才能与浏览器内核进程通信。
客户端使用沙箱的场景:
服务端使用沙箱场景:
这里我们主要着手解决多实例的需求: