モジュールvm
サンドボックス モジュール。異なるセキュリティ レベルのオペレーティング環境を分離するために使用されます。
分離サンドボックスを確立することで、スクリプトの実行時にアクセスできるリソースを制限し、異なるスクリプト実行環境を分離し、異なる環境に合わせて基本モジュールをカスタマイズして、動作環境全体のセキュリティを確保できます。
次の例では、グローバル 基本モジュールへのアクセスのみを制限するサンドボックスを作成します。assertモジュールを追加し、2 つのカスタム モジュール a と 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');
物体
SandBox
1SandBox vm.SandBox;
Script
1Script vm.Script;
静的関数
createContext
コンテキストオブジェクトを作成する
1
2static Object vm.createContext(Object contextObject = {},
Object opts = {});
呼び出しパラメータ:
- contextObject: オブジェクト。コンテキスト化するオブジェクトを指定します。
- opts: オブジェクト、コンテキスト オプションを指定します
返される結果:
- Object、コンテキストオブジェクトを返します
isContext
与えられた場合objectオブジェクトが使用されていますvm.createContext() コンテキスト化の場合、true を返します
1static Boolean vm.isContext(Object contextObject);
呼び出しパラメータ:
- contextObject: オブジェクト、チェックするオブジェクトを指定します
返される結果:
- Boolean、与えられた場合objectオブジェクトが使用されていますvm.createContext() コンテキスト化の場合、true を返します
runInContext
指定された contextizedObject 内の code で指定されたコードを実行し、結果を返します。
1
2
3static Value vm.runInContext(String code,
Object contextifiedObject,
Object opts = {});
呼び出しパラメータ:
- code: 文字列。コンパイルして実行するスクリプト コードを指定します。
- contextifiedObject: オブジェクト。ランタイム コンテキスト オブジェクトを指定します。
- opts: オブジェクト、実行オプションを指定します
返される結果:
- Value、実行結果を返します
指定された contextizedObject 内の code で指定されたコードを実行し、結果を返します。
1
2
3static Value vm.runInContext(String code,
Object contextifiedObject,
String filename);
呼び出しパラメータ:
- code: 文字列。コンパイルして実行するスクリプト コードを指定します。
- contextifiedObject: オブジェクト。ランタイム コンテキスト オブジェクトを指定します。
- filename: 文字列、スクリプトファイル名を指定します
返される結果:
- Value、実行結果を返します
runInNewContext
指定された contextObject を使用して、作成されたコンテキスト内の code で指定されたコードを実行し、結果を返します。
1
2
3static Value vm.runInNewContext(String code,
Object contextObject = {},
Object opts = {});
呼び出しパラメータ:
- code: 文字列。コンパイルして実行するスクリプト コードを指定します。
- contextObject: オブジェクト。コンテキスト化するオブジェクトを指定します。
- opts: オブジェクト、実行オプションを指定します
返される結果:
- Value、実行結果を返します
指定された contextObject を使用して、作成されたコンテキスト内の code で指定されたコードを実行し、結果を返します。
1
2
3static Value vm.runInNewContext(String code,
Object contextObject = {},
String filename);
呼び出しパラメータ:
- code: 文字列。コンパイルして実行するスクリプト コードを指定します。
- contextObject: オブジェクト。コンテキスト化するオブジェクトを指定します。
- filename: 文字列、スクリプトファイル名を指定します
返される結果:
- Value、実行結果を返します
runInThisContext
現在のコンテキスト内で code で指定されたコードを実行し、結果を返します。
1
2static Value vm.runInThisContext(String code,
Object opts = {});
呼び出しパラメータ:
- code: 文字列。コンパイルして実行するスクリプト コードを指定します。
- opts: オブジェクト、実行オプションを指定します
返される結果:
- Value、実行結果を返します
現在のコンテキスト内で code で指定されたコードを実行し、結果を返します。
1
2static Value vm.runInThisContext(String code,
String filename);
呼び出しパラメータ:
- code: 文字列。コンパイルして実行するスクリプト コードを指定します。
- filename: 文字列、スクリプトファイル名を指定します
返される結果:
- Value、実行結果を返します