Modul Grundmodul

modulevm

Sandbox-Modul, das zum Isolieren von Betriebsumgebungen mit unterschiedlichen Sicherheitsstufen verwendet wird

Durch die Einrichtung einer Isolationssandbox können Sie die Ressourcen begrenzen, auf die Skripte bei der Ausführung zugreifen können, verschiedene Skriptausführungsumgebungen isolieren und Basismodule für verschiedene Umgebungen anpassen, um die Sicherheit der gesamten Betriebsumgebung zu gewährleisten.

Im folgenden Beispiel wird eine Sandbox erstellt, die den Zugriff nur auf globale Basismodule beschränkt.assertModul und fügen Sie zwei benutzerdefinierte Module a und b hinzu:

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');

Objekt

SandBox

ErstellenSandBoxObjekt, sieheSandBox

1
SandBox vm.SandBox;

Script

ErstellenScriptObjekt, sieheScript

1
Script vm.Script;

statische Funktion

createContext

Erstellen Sie ein Kontextobjekt

1 2
static Object vm.createContext(Object contextObject = {}, Object opts = {});

Aufrufparameter:

  • contextObject: Objekt, gibt das Objekt an, das kontextualisiert werden soll
  • opts: Objekt, gibt Kontextoptionen an

Rückgabeergebnisse:

  • Object, gibt das Kontextobjekt zurück

isContext

Falls gegebenobjectObjekt wird verwendetvm.createContext() gibt für die Kontextualisierung „true“ zurück

1
static Boolean vm.isContext(Object contextObject);

Aufrufparameter:

  • contextObject: Objekt, gibt das zu prüfende Objekt an

Rückgabeergebnisse:

  • Boolean, falls angegebenobjectObjekt wird verwendetvm.createContext() gibt für die Kontextualisierung „true“ zurück

runInContext

Führt den durch code angegebenen Code innerhalb des angegebenen contextualizedObject aus und gibt das Ergebnis zurück

1 2 3
static Value vm.runInContext(String code, Object contextifiedObject, Object opts = {});

Aufrufparameter:

  • code: String, gibt den Skriptcode an, der kompiliert und ausgeführt werden soll
  • contextifiedObject: Objekt, gibt das Laufzeitkontextobjekt an
  • opts: Objekt, Ausführungsoptionen angeben

Rückgabeergebnisse:

  • Value, das laufende Ergebnis zurückgeben

Führt den durch code angegebenen Code innerhalb des angegebenen contextualizedObject aus und gibt das Ergebnis zurück

1 2 3
static Value vm.runInContext(String code, Object contextifiedObject, String filename);

Aufrufparameter:

  • code: String, gibt den Skriptcode an, der kompiliert und ausgeführt werden soll
  • contextifiedObject: Objekt, gibt das Laufzeitkontextobjekt an
  • filename: String, geben Sie den Namen der Skriptdatei an

Rückgabeergebnisse:

  • Value, das laufende Ergebnis zurückgeben

runInNewContext

Verwenden Sie das angegebene contextObject, um den durch code angegebenen Code im erstellten Kontext auszuführen und das Ergebnis zurückzugeben.

1 2 3
static Value vm.runInNewContext(String code, Object contextObject = {}, Object opts = {});

Aufrufparameter:

  • code: String, gibt den Skriptcode an, der kompiliert und ausgeführt werden soll
  • contextObject: Objekt, gibt das Objekt an, das kontextualisiert werden soll
  • opts: Objekt, Ausführungsoptionen angeben

Rückgabeergebnisse:

  • Value, das laufende Ergebnis zurückgeben

Verwenden Sie das angegebene contextObject, um den durch code angegebenen Code im erstellten Kontext auszuführen und das Ergebnis zurückzugeben.

1 2 3
static Value vm.runInNewContext(String code, Object contextObject = {}, String filename);

Aufrufparameter:

  • code: String, gibt den Skriptcode an, der kompiliert und ausgeführt werden soll
  • contextObject: Objekt, gibt das Objekt an, das kontextualisiert werden soll
  • filename: String, geben Sie den Namen der Skriptdatei an

Rückgabeergebnisse:

  • Value, das laufende Ergebnis zurückgeben

runInThisContext

Führt den durch code angegebenen Code im aktuellen Kontext aus und gibt das Ergebnis zurück

1 2
static Value vm.runInThisContext(String code, Object opts = {});

Aufrufparameter:

  • code: String, gibt den Skriptcode an, der kompiliert und ausgeführt werden soll
  • opts: Objekt, Ausführungsoptionen angeben

Rückgabeergebnisse:

  • Value, das laufende Ergebnis zurückgeben

Führt den durch code angegebenen Code im aktuellen Kontext aus und gibt das Ergebnis zurück

1 2
static Value vm.runInThisContext(String code, String filename);

Aufrufparameter:

  • code: String, gibt den Skriptcode an, der kompiliert und ausgeführt werden soll
  • filename: String, geben Sie den Namen der Skriptdatei an

Rückgabeergebnisse:

  • Value, das laufende Ergebnis zurückgeben