modulevm
Sandbox-module, gebruikt om besturingsomgevingen met verschillende beveiligingsniveaus te isoleren
Door een isolatiesandbox in te stellen, kunt u de bronnen beperken waartoe scripts toegang hebben wanneer ze worden uitgevoerd, verschillende omgevingen voor het uitvoeren van scripts isoleren en basismodules voor verschillende omgevingen aanpassen om de veiligheid van de algehele besturingsomgeving te garanderen.
In het volgende voorbeeld wordt een sandbox gemaakt die de toegang beperkt tot alleen globale basismodules.assertmodule en voeg twee aangepaste modules a en b toe:
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');
voorwerp
SandBox
CreërenSandBoxvoorwerp, zieSandBox
1SandBox vm.SandBox;
Script
CreërenScriptvoorwerp, zieScript
1Script vm.Script;
statische functie
createContext
Maak een contextobject
1
2static Object vm.createContext(Object contextObject = {},
Object opts = {});
Oproepparameters:
- contextObject: Object, specificeert het object dat moet worden gecontextualiseerd
- opts: Object, specificeert contextopties
Resultaten retourneren:
- Object, retourneert het contextobject
isContext
Indien gegevenobjectVoorwerp wordt gebruiktvm.createContext() voor contextualisering, retourneert waar
1static Boolean vm.isContext(Object contextObject);
Oproepparameters:
- contextObject: Object, specificeert het object dat moet worden gecontroleerd
Resultaten retourneren:
- Boolean, indien gegevenobjectVoorwerp wordt gebruiktvm.createContext() voor contextualisering, retourneert waar
runInContext
Voert de code uit die is opgegeven door code binnen het opgegeven contextualizedObject en retourneert het resultaat
1
2
3static Value vm.runInContext(String code,
Object contextifiedObject,
Object opts = {});
Oproepparameters:
- code: String, specificeert de scriptcode die moet worden gecompileerd en uitgevoerd
- contextifiedObject: Object, specificeert het runtimecontextobject
- opts: Object, specificeer uitvoeringsopties
Resultaten retourneren:
- Value, retourneer het lopende resultaat
Voert de code uit die is opgegeven door code binnen het opgegeven contextualizedObject en retourneert het resultaat
1
2
3static Value vm.runInContext(String code,
Object contextifiedObject,
String filename);
Oproepparameters:
- code: String, specificeert de scriptcode die moet worden gecompileerd en uitgevoerd
- contextifiedObject: Object, specificeert het runtimecontextobject
- filename: String, geef de naam van het scriptbestand op
Resultaten retourneren:
- Value, retourneer het lopende resultaat
runInNewContext
Gebruik het gegeven contextObject om de door code gespecificeerde code uit te voeren in de gemaakte context en het resultaat te retourneren.
1
2
3static Value vm.runInNewContext(String code,
Object contextObject = {},
Object opts = {});
Oproepparameters:
- code: String, specificeert de scriptcode die moet worden gecompileerd en uitgevoerd
- contextObject: Object, specificeert het object dat moet worden gecontextualiseerd
- opts: Object, specificeer uitvoeringsopties
Resultaten retourneren:
- Value, retourneer het lopende resultaat
Gebruik het gegeven contextObject om de door code gespecificeerde code uit te voeren in de gemaakte context en het resultaat te retourneren.
1
2
3static Value vm.runInNewContext(String code,
Object contextObject = {},
String filename);
Oproepparameters:
- code: String, specificeert de scriptcode die moet worden gecompileerd en uitgevoerd
- contextObject: Object, specificeert het object dat moet worden gecontextualiseerd
- filename: String, geef de naam van het scriptbestand op
Resultaten retourneren:
- Value, retourneer het lopende resultaat
runInThisContext
Voert de door code gespecificeerde code uit binnen de huidige context en retourneert het resultaat
1
2static Value vm.runInThisContext(String code,
Object opts = {});
Oproepparameters:
- code: String, specificeert de scriptcode die moet worden gecompileerd en uitgevoerd
- opts: Object, specificeer uitvoeringsopties
Resultaten retourneren:
- Value, retourneer het lopende resultaat
Voert de door code gespecificeerde code uit binnen de huidige context en retourneert het resultaat
1
2static Value vm.runInThisContext(String code,
String filename);
Oproepparameters:
- code: String, specificeert de scriptcode die moet worden gecompileerd en uitgevoerd
- filename: String, geef de naam van het scriptbestand op
Resultaten retourneren:
- Value, retourneer het lopende resultaat