1

我想使用 Rhino 作为沙箱在服务器上运行用户提供的脚本。我想从不再有 Java 绑定的 PHP 中做到这一点,所以我必须使用命令行界面(Rhino shell)。

不幸的是,Rhino shell 在环境中添加了一些破坏沙盒字符的内在功能,例如文件访问,runCommand()并允许在系统上运行任意命令。

有没有办法禁用它们?

4

1 回答 1

0

我发现我可以用 null 覆盖它们或删除它们:

runCommand = null;
delete runCommand;

我可以通过获取全局的所有属性来找出存在哪些全局函数和对象,这些属性存储在this

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