提问人:MIX 2000 提问时间:11/10/2023 最后编辑:MIX 2000 更新时间:11/10/2023 访问量:15
如何以安全的方式使用 NashornSandbox
How to use NashornSandbox in safe way
问:
我正在使用以下代码来执行语句
NashornSandbox sandbox = NashornSandboxes.create();
String input = "(20>=10 && 19<=20 || 33>30 ) && 233>30";
try {
// Evaluate the logical expression
Object result = sandbox.eval(input);
if (result instanceof Boolean) {
boolean booleanResult = (boolean) result;
System.out.println("Result: " + booleanResult);
} else {
System.out.println("Invalid expression: Result is not a boolean");
}
} catch (ScriptException e) {
System.out.println("Invalid expression: " + e.getMessage());
}
如何只允许执行逻辑表达式并防止 while、for、exist 和其他一切。
答: 暂无答案
评论