harmonyos2-v8-sandbox:V8Sandbox-从Node.js执行不受信任的JavaScript

时间:2021-07-01 14:59:54
【文件属性】:
文件名称:harmonyos2-v8-sandbox:V8Sandbox-从Node.js执行不受信任的JavaScript
文件大小:625KB
文件格式:ZIP
更新时间:2021-07-01 14:59:54
系统开源 和声2 v8-沙盒 从 nodejs 安全地执行任意不受信任的 JavaScript。 该模块实现了一个独立的 JavaScript 环境,可用于运行任何代码而不能脱离沙箱。 V8 上下文完全由 C++ 初始化和执行,因此 JS 堆栈帧不可能返回到 nodejs 环境。 它可以从 nodejs 进程中使用,但 JS 环境是纯 V8。 沙盒 V8 上下文从单独的 nodejs 进程执行,以启用对脚本超时的完全支持。 有意不可能将任何 nodejs 对象或函数直接暴露给沙箱。 这使得集成到项目中稍微困难一些,但具有保证隔离的好处。 然而,有一种机制可以使用沙箱的require构造函数选项从沙箱调用宿主函数。 主机调度功能对所有参数和返回值使用 IPC 上的 JSON 序列化,因此不可能在环境之间传递任何对象引用。 V8 的沙箱实例和 V8 的 nodejs 实例之间的所有通信都是通过 JSON 序列化完成的,以完全防止任何引用泄漏到沙箱中。 有关如何向沙箱公开 nodejs 函数的示例,请参阅example.js和example-functions.js 。 特征 用于执行任意 JS 的隔
【文件预览】:
v8-sandbox-master
----.eslintrc.json(8KB)
----binding.gyp(306B)
----example-functions.js(409B)
----.tool-versions(15B)
----yarn.lock(181KB)
----example.js(2KB)
----src()
--------sandbox.h(2KB)
--------sandbox.cc(10KB)
--------addon.cc(130B)
--------common.h(3KB)
--------baton.cc(21B)
--------baton.h(437B)
----.babelrc(318B)
----.vscode()
--------extensions.json(163B)
--------settings.json(2KB)
----scripts()
--------install.sh(1006B)
--------make-runtime.sh(188B)
--------publish.sh(278B)
----lib()
--------client()
--------cluster()
--------server()
--------index.js(140B)
----test.js(2KB)
----.travis.yml(2KB)
----tsconfig.json(330B)
----electron.sh(292B)
----test()
--------setup.js(30B)
--------test-functions.js(1KB)
--------index.js(20KB)
--------test.html(3.33MB)
----LICENSE.md(1KB)
----start.js(52B)
----README.md(6KB)
----stress.js(792B)
----dist()
--------client()
--------cluster()
--------index.js.map(297B)
--------server()
--------index.js(566B)
----appveyor.yml(660B)
----.gitignore(63B)
----.eslintignore(34B)
----package.json(2KB)

网友评论