【发布时间】:2010-12-25 02:01:13
【问题描述】:
我刚开始使用 Java ScriptEngine 对我的应用程序进行少量扩展,然后我注意到我可以导入脚本中的所有 java 类并不受限制地使用它们。有没有办法指定脚本可以使用哪些类?我不希望他们做java.lang.System.exit(1);
之类的事情
【问题讨论】:
标签: java scripting permissions sandbox
我刚开始使用 Java ScriptEngine 对我的应用程序进行少量扩展,然后我注意到我可以导入脚本中的所有 java 类并不受限制地使用它们。有没有办法指定脚本可以使用哪些类?我不希望他们做java.lang.System.exit(1);
之类的事情
【问题讨论】:
标签: java scripting permissions sandbox
好吧,您似乎需要了解 Java SecurityManager。这是一个相当大的主题,您可能需要阅读它,然后如果您无法使其适合您,请发布更具体的问题。
【讨论】:
使用 Java 安全管理器。参考this的答案示例。
【讨论】:
我通过将“importPackage = null”放在所有脚本的顶部解决了这个问题,它似乎有效,但我不确定是否可以避免这种黑客攻击。
【讨论】:
java.lang.System.exit(1);
。程序将退出。