módulovm
Módulo Sandbox, utilizado para aislar entornos operativos con diferentes niveles de seguridad.
Al establecer un entorno limitado de aislamiento, puede limitar los recursos a los que pueden acceder los scripts cuando se ejecutan, aislar diferentes entornos de ejecución de scripts y personalizar módulos básicos para diferentes entornos para garantizar la seguridad del entorno operativo general.
El siguiente ejemplo crea un entorno limitado que restringe el acceso solo a módulos base globales.assertmódulo y agregue dos módulos personalizados a y b:
1
2
3
4
5
6
7
8var vm = require('vm');
var sbox = new vm.SandBox({
a: 100,
b: 200,
assert: require('assert')
});
var mod_in_sbox = sbox.require('./path/to/mod');
objeto
SandBox
CrearSandBoxobjeto, verSandBox
1SandBox vm.SandBox;
Script
1Script vm.Script;
función estática
createContext
Crear un objeto de contexto
1
2static Object vm.createContext(Object contextObject = {},
Object opts = {});
Parámetros de llamada:
- contextObject: Objeto, especifica el objeto a contextualizar
- opts: Objeto, especifica opciones de contexto
Resultados de devolución:
- Object, devuelve el objeto de contexto
isContext
si se daobjectSe utiliza objetovm.createContext() para contextualización, devuelve verdadero
1static Boolean vm.isContext(Object contextObject);
Parámetros de llamada:
- contextObject: Objeto, especifica el objeto a comprobar
Resultados de devolución:
- Boolean, si se daobjectSe utiliza objetovm.createContext() para contextualización, devuelve verdadero
runInContext
Ejecuta el código especificado por el código dentro del objeto contextualizado dado y devuelve el resultado.
1
2
3static Value vm.runInContext(String code,
Object contextifiedObject,
Object opts = {});
Parámetros de llamada:
- code: Cadena, especifica el código del script que se compilará y ejecutará
- contextifiedObject: Objeto, especifica el objeto de contexto de tiempo de ejecución
- opts: Objeto, especificar opciones de ejecución
Resultados de devolución:
- Value, devuelve el resultado de ejecución
Ejecuta el código especificado por el código dentro del objeto contextualizado dado y devuelve el resultado.
1
2
3static Value vm.runInContext(String code,
Object contextifiedObject,
String filename);
Parámetros de llamada:
- code: Cadena, especifica el código del script que se compilará y ejecutará
- contextifiedObject: Objeto, especifica el objeto de contexto de tiempo de ejecución
- filename: Cadena, especifique el nombre del archivo de script
Resultados de devolución:
- Value, devuelve el resultado de ejecución
runInNewContext
Utilice el contextObject proporcionado para ejecutar el código especificado por el código en el contexto creado y devolver el resultado.
1
2
3static Value vm.runInNewContext(String code,
Object contextObject = {},
Object opts = {});
Parámetros de llamada:
- code: Cadena, especifica el código del script que se compilará y ejecutará
- contextObject: Objeto, especifica el objeto a contextualizar
- opts: Objeto, especificar opciones de ejecución
Resultados de devolución:
- Value, devuelve el resultado de ejecución
Utilice el contextObject proporcionado para ejecutar el código especificado por el código en el contexto creado y devolver el resultado.
1
2
3static Value vm.runInNewContext(String code,
Object contextObject = {},
String filename);
Parámetros de llamada:
- code: Cadena, especifica el código del script que se compilará y ejecutará
- contextObject: Objeto, especifica el objeto a contextualizar
- filename: Cadena, especifique el nombre del archivo de script
Resultados de devolución:
- Value, devuelve el resultado de ejecución
runInThisContext
Ejecuta el código especificado por código dentro del contexto actual y devuelve el resultado
1
2static Value vm.runInThisContext(String code,
Object opts = {});
Parámetros de llamada:
- code: Cadena, especifica el código del script que se compilará y ejecutará
- opts: Objeto, especificar opciones de ejecución
Resultados de devolución:
- Value, devuelve el resultado de ejecución
Ejecuta el código especificado por código dentro del contexto actual y devuelve el resultado
1
2static Value vm.runInThisContext(String code,
String filename);
Parámetros de llamada:
- code: Cadena, especifica el código del script que se compilará y ejecutará
- filename: Cadena, especifique el nombre del archivo de script
Resultados de devolución:
- Value, devuelve el resultado de ejecución