从Rhino shell中删除其他功能

时间:2011-06-22 00:51:39

标签: rhino rhino-security

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

不幸的是,Rhino shell为破坏沙盒字符的环境添加了一些内部函数,比如文件访问和允许在系统上运行任意命令的runCommand()

有没有办法禁用它们?

1 个答案:

答案 0 :(得分:0)

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

runCommand = null;
delete runCommand;

我可以通过全局getting all properties找出哪些全局函数和对象存储在this中:

Object.getOwnPropertyNames(this);