我刚刚开始使用Java ScriptEngine对我的应用程序进行一些扩展,然后我注意到我可以导入脚本中的所有java类并使用它们而没有任何限制。有没有办法指定脚本可以使用哪些类?我不希望他们做java.lang.System.exit(1);
答案 0 :(得分:2)
好吧,您似乎需要了解Java SecurityManager。这是一个非常大的主题,你可能想要阅读它,然后发布一个更具体的问题,如果你无法让它适合你。
答案 1 :(得分:1)
使用Java安全管理器。请参阅this答案以获取示例。
答案 2 :(得分:1)
我通过在所有脚本的顶部放置“importPackage = null”来解决这个问题,它似乎有效,但我不确定是否可以避免这种黑客攻击。