是否可以实现类似工具的安全管理器来拦截Rhino中对java对象的调用

时间:2011-06-19 09:48:49

标签: java rhino

我正在考虑使用Rhino作为脚本语言,但是想添加一个图层来防止脚本做任何事情。

在java中,如果有人发现我们希望阻止的api,可以验证类并抱怨。例如,如果您不希望用户触摸文件系统抱怨,如果有人发现调用java.io.File等。

等效的类文件验证

  • 是否有一个阶段可以在脚本加载后但在执行之前验证脚本?
  • 当给eval一个字符串时,是否调用了相同的回调?

这将是首选,因为每个脚本或scriptlet仅被检查一次,之后它被信任。

所有java方法调用的运行时拦截

  • Rhino是否会在每次尝试执行函数调用时调用一些回调?
  • 是否可以仅在某些apis上安装此检查程序,例如在尝试访问java类时。

这将允许其他真正的javascript对象在没有障碍的情况下执行...

是否有其他方法可以防止调用java对象来执行我希望沙箱的操作?

Rhino SecurityController

我不太确定,必须尝试使用​​callWithDomain()方法。

1 个答案:

答案 0 :(得分:0)

解决我的问题的支持方法是注册ClassShutter。