Module basismodule

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 8
var 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

1
SandBox vm.SandBox;

Script

CreërenScriptvoorwerp, zieScript

1
Script vm.Script;

statische functie

createContext

Maak een contextobject

1 2
static 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

1
static 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 3
static 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 3
static 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 3
static 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 3
static 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 2
static 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 2
static 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