我可以使用内置的 ScriptEngineManager 轻松执行 JavaScript。然而,它给了JavaScript完全权限,这对我来说是个大问题。
它允许危险命令,例如:
javax.swing.JOptionPane.showMessageDialog(null, "你好,服务器!");
java.lang.System.exit(0);
如何限制 Javascript 引擎中 Java 函数的可用性?
最佳答案
沙箱默认阻止对所有 Java 类的访问。
NashornSandbox sandbox = NashornSandboxes.create();
sandbox.allow(File.class);
sandbox.eval("var File = Java.type('java.io.File'); File;")
关于Java - 如何沙箱 ScriptEngineManager?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51997229/