1

サーバー上でユーザー提供のスクリプトを実行するためのサンドボックスとしてRhinoを使用したいと思います。これは、JavaバインディングがなくなったPHPから実行したいので、コマンドラインインターフェイス(Rhinoシェル)を使用する必要があります。

残念ながら、Rhinoシェルは、ファイルアクセスなど、サンドボックスキャラクターを台無しにrunCommand()し、システム上で任意のコマンドを実行できるようにするいくつかの組み込み関数を環境に追加します。

それらを無効にする方法はありますか?

4

1 に答える 1

0

nullで上書きするか、削除できることがわかりました。

runCommand = null;
delete runCommand;

に格納されているグローバルのすべてのプロパティを取得することで、どのグローバル関数とオブジェクトがあるかを知ることができますthis

Object.getOwnPropertyNames(this);
于 2011-06-22T01:40:16.453 に答える