modulevm
Modulo Sandbox, utilizzato per isolare ambienti operativi con diversi livelli di sicurezza
Stabilendo una sandbox di isolamento, è possibile limitare le risorse a cui gli script possono accedere durante l'esecuzione, isolare diversi ambienti di esecuzione degli script e personalizzare moduli di base per ambienti diversi per garantire la sicurezza dell'ambiente operativo complessivo.
L'esempio seguente crea una sandbox che limita l'accesso solo ai moduli di base globali.assertmodule e aggiungi due moduli personalizzati a e 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');
oggetto
SandBox
CreareSandBoxoggetto, vediSandBox
1SandBox vm.SandBox;
Script
CreareScriptoggetto, vediScript
1Script vm.Script;
funzione statica
createContext
Creare un oggetto di contesto
1
2static Object vm.createContext(Object contextObject = {},
Object opts = {});
Parametri di chiamata:
- contextObject: Oggetto, specifica l'oggetto da contestualizzare
- opts: Oggetto, specifica le opzioni di contesto
Risultati restituiti:
- Object, restituisce l'oggetto di contesto
isContext
Se datoobjectL'oggetto è utilizzatovm.createContext() per contestualizzazione, restituisce true
1static Boolean vm.isContext(Object contextObject);
Parametri di chiamata:
- contextObject: Oggetto, specifica l'oggetto da controllare
Risultati restituiti:
- Boolean, se datoobjectL'oggetto è utilizzatovm.createContext() per contestualizzazione, restituisce true
runInContext
Esegue il codice specificato da code all'interno dell'oggetto contestualizzato specificato e restituisce il risultato
1
2
3static Value vm.runInContext(String code,
Object contextifiedObject,
Object opts = {});
Parametri di chiamata:
- code: String, specifica il codice dello script da compilare ed eseguire
- contextifiedObject: Oggetto, specifica l'oggetto del contesto di runtime
- opts: Oggetto, specifica le opzioni di esecuzione
Risultati restituiti:
- Value, restituisce il risultato corrente
Esegue il codice specificato da code all'interno dell'oggetto contestualizzato specificato e restituisce il risultato
1
2
3static Value vm.runInContext(String code,
Object contextifiedObject,
String filename);
Parametri di chiamata:
- code: String, specifica il codice dello script da compilare ed eseguire
- contextifiedObject: Oggetto, specifica l'oggetto del contesto di runtime
- filename: String, specifica il nome del file di script
Risultati restituiti:
- Value, restituisce il risultato corrente
runInNewContext
Utilizzare il contextObject fornito per eseguire il codice specificato da code nel contesto creato e restituire il risultato.
1
2
3static Value vm.runInNewContext(String code,
Object contextObject = {},
Object opts = {});
Parametri di chiamata:
- code: String, specifica il codice dello script da compilare ed eseguire
- contextObject: Oggetto, specifica l'oggetto da contestualizzare
- opts: Oggetto, specifica le opzioni di esecuzione
Risultati restituiti:
- Value, restituisce il risultato corrente
Utilizzare il contextObject fornito per eseguire il codice specificato da code nel contesto creato e restituire il risultato.
1
2
3static Value vm.runInNewContext(String code,
Object contextObject = {},
String filename);
Parametri di chiamata:
- code: String, specifica il codice dello script da compilare ed eseguire
- contextObject: Oggetto, specifica l'oggetto da contestualizzare
- filename: String, specifica il nome del file di script
Risultati restituiti:
- Value, restituisce il risultato corrente
runInThisContext
Esegue il codice specificato da code nel contesto corrente e restituisce il risultato
1
2static Value vm.runInThisContext(String code,
Object opts = {});
Parametri di chiamata:
- code: String, specifica il codice dello script da compilare ed eseguire
- opts: Oggetto, specifica le opzioni di esecuzione
Risultati restituiti:
- Value, restituisce il risultato corrente
Esegue il codice specificato da code nel contesto corrente e restituisce il risultato
1
2static Value vm.runInThisContext(String code,
String filename);
Parametri di chiamata:
- code: String, specifica il codice dello script da compilare ed eseguire
- filename: String, specifica il nome del file di script
Risultati restituiti:
- Value, restituisce il risultato corrente