modulevm
Module Sandbox, utilisé pour isoler les environnements d'exploitation avec différents niveaux de sécurité
En établissant un bac à sable d'isolation, vous pouvez limiter les ressources auxquelles les scripts peuvent accéder lors de leur exécution, isoler différents environnements d'exécution de script et personnaliser les modules de base pour différents environnements afin de garantir la sécurité de l'environnement d'exploitation global.
L'exemple suivant crée un bac à sable qui restreint l'accès aux seuls modules de base globaux.assertmodule et ajoutez deux modules personnalisés a et 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');
objet
SandBox
CréerSandBoxobjet, voirSandBox
1SandBox vm.SandBox;
Script
1Script vm.Script;
fonction statique
createContext
Créer un objet contextuel
1
2static Object vm.createContext(Object contextObject = {},
Object opts = {});
Paramètres d'appel :
- contextObject: Objet, précise l'objet à contextualiser
- opts: Objet, spécifie les options de contexte
Résultats de retour :
- Object, renvoie l'objet contextuel
isContext
Si donnéobjectL'objet est utilisévm.createContext() pour la contextualisation, renvoie vrai
1static Boolean vm.isContext(Object contextObject);
Paramètres d'appel :
- contextObject: Objet, spécifie l'objet à vérifier
Résultats de retour :
- Boolean, si donnéobjectL'objet est utilisévm.createContext() pour la contextualisation, renvoie vrai
runInContext
Exécute le code spécifié par code dans le contextualizedObject donné et renvoie le résultat
1
2
3static Value vm.runInContext(String code,
Object contextifiedObject,
Object opts = {});
Paramètres d'appel :
- code: String, spécifie le code du script à compiler et à exécuter
- contextifiedObject: Objet, spécifie l'objet de contexte d'exécution
- opts: Objet, spécifiez les options d'exécution
Résultats de retour :
- Value, renvoie le résultat en cours d'exécution
Exécute le code spécifié par code dans le contextualizedObject donné et renvoie le résultat
1
2
3static Value vm.runInContext(String code,
Object contextifiedObject,
String filename);
Paramètres d'appel :
- code: String, spécifie le code du script à compiler et à exécuter
- contextifiedObject: Objet, spécifie l'objet de contexte d'exécution
- filename : String, spécifiez le nom du fichier de script
Résultats de retour :
- Value, renvoie le résultat en cours d'exécution
runInNewContext
Utilisez le contextObject donné pour exécuter le code spécifié par code dans le contexte créé et renvoyer le résultat.
1
2
3static Value vm.runInNewContext(String code,
Object contextObject = {},
Object opts = {});
Paramètres d'appel :
- code: String, spécifie le code du script à compiler et à exécuter
- contextObject: Objet, précise l'objet à contextualiser
- opts: Objet, spécifiez les options d'exécution
Résultats de retour :
- Value, renvoie le résultat en cours d'exécution
Utilisez le contextObject donné pour exécuter le code spécifié par code dans le contexte créé et renvoyer le résultat.
1
2
3static Value vm.runInNewContext(String code,
Object contextObject = {},
String filename);
Paramètres d'appel :
- code: String, spécifie le code du script à compiler et à exécuter
- contextObject: Objet, précise l'objet à contextualiser
- filename : String, spécifiez le nom du fichier de script
Résultats de retour :
- Value, renvoie le résultat en cours d'exécution
runInThisContext
Exécute le code spécifié par code dans le contexte actuel et renvoie le résultat
1
2static Value vm.runInThisContext(String code,
Object opts = {});
Paramètres d'appel :
- code: String, spécifie le code du script à compiler et à exécuter
- opts: Objet, spécifiez les options d'exécution
Résultats de retour :
- Value, renvoie le résultat en cours d'exécution
Exécute le code spécifié par code dans le contexte actuel et renvoie le résultat
1
2static Value vm.runInThisContext(String code,
String filename);
Paramètres d'appel :
- code: String, spécifie le code du script à compiler et à exécuter
- filename : String, spécifiez le nom du fichier de script
Résultats de retour :
- Value, renvoie le résultat en cours d'exécution