我的JEE应用程序在tomee下运行,允许用户编写自己的脚本并在web上运行,但我想限制某些操作,例如System.exit(1)。
有关这个问题的讨论可以在beanshell2论坛上找到-请查看这个- http://code.google.com/p/beanshell2/issues/detail?id=15。
任何在JVM中工作的脚本语言都是可以的,但是我需要这个级别的控制。我的第一次尝试是使用beanshell,但我们从上面的讨论中可以看出,这似乎不是一种选择。
我想避免使用更多深奥的语言,因为最终用户是技术性的,但我不能要求他/她仅仅为了编写一个脚本而学习一种未知的编程语言:-)或者也许我可以,如果我找不到任何有用的选择。
我怎么能拿到呢?很帅吗?还有其他基于JVM的脚本语言吗?
发布于 2013-12-03 18:40:13
Groovy在CompilerConfiguration中有很多强大的功能。您可以选择可用的进口和许多其他东西。允许的东西可以用SecureASTCustomizer白名单或黑名单。
发布于 2013-12-03 17:24:51
我很久以前就用过犀牛了。它允许将JavaScript运行到Java (或服务器端)。您可能需要手动管理安全问题。
不确定这就是你要找的东西,但它可以帮上忙:https://developer.mozilla.org/en-US/docs/Rhino
https://stackoverflow.com/questions/20357561
复制相似问题