我可以使用内置的ScriptEngineManager
轻松地执行JavaScript。
但是,ScriptEngineManager
授予了对JavaScript的完全许可,这对我来说是个大问题。
这是我要防止的事情:
javax.swing.JOptionPane.showMessageDialog(null, "Hello, Server!");
java.lang.System.exit(0);
如何在ScriptEngine JavaScript中禁用Java集成?
如果我这样做,是否可以仅包含特定的JavaScript函数回调?
答案 0 :(得分:0)
默认情况下,沙箱会阻止对所有Java类的访问。
NashornSandbox sandbox = NashornSandboxes.create();
sandbox.allow(File.class);
sandbox.eval("var File = Java.type('java.io.File'); File;")