Java ScriptEngine的安全问题

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

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

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

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