0
vm2を使用してノードにサンドボックスコードを実行しています。ノードVM2で現在実行されているコードを終了するには
実行されるコードはほとんど非同期です。それは信頼できないコードなので、何らかの形で準拠するために依存することはできないため、なぜ私はvm2
を使ってそれを実行していますか?
vm2には現在実行中のコードを終了する方法がありますか?ドキュメントは非常に限られています。私はこのコードを持っているとしたら、例えば:
var code = 'setInterval(function(){ console.log("tick"); }, 1000);'
vm.run(code);
を、私は、上記を実行し、制御コードの内容について何も知らなくても、将来のある時点でそれを停止する可能性のある方法はありますcode
のいずれかの特定の機能を提供する必要はありませんか?
vm.stop()
の方法などが見つかりません。
非同期コールバックのタイムアウトを設定できますか?それとも、永遠に実行されますか? –
カスタムオブジェクトで信頼できないJSコードを実行し、setTimeout()を再帰的に実行できないようにするにはどうすればよいでしょうか? –
おそらく、私は、VMコードにsetTimeout( "alwaysrandomsecretvaluehere()")を追加できます。ここで、context.alwaysrandomsecretvalue = process.exit? –