Java ScriptEngine的安全问题

时间:2009-12-10 01:12:45

标签: java scripting permissions sandbox

我刚刚开始使用Java ScriptEngine对我的应用程序进行一些扩展,然后我注意到我可以导入脚本中的所有java类并使用它们而没有任何限制。有没有办法指定脚本可以使用哪些类?我不希望他们做java.lang.System.exit(1);

之类的事情

3 个答案:

答案 0 :(得分:2)

好吧,您似乎需要了解Java SecurityManager。这是一个非常大的主题,你可能想要阅读它,然后发布一个更具体的问题,如果你无法让它适合你。

答案 1 :(得分:1)

使用Java安全管理器。请参阅this答案以获取示例。

答案 2 :(得分:1)

我通过在所有脚本的顶部放置“importPackage = null”来解决这个问题,它似乎有效,但我不确定是否可以避免这种黑客攻击。