我正在使用javax.scripting
添加对在服务器端运行任意用户上传的 JavaScript 的支持。显然我想保护这些脚本!
Rhino 本身就有一个在运行时保护脚本的框架。但是,的文档javax.scripting
没有提及脚本可用的安全性、权限或限制类。那么这只是javax.scripting
API 中的一个巨大漏洞,它没有提供一个框架来保护它执行的脚本吗?
我不想直接使用 Rhino,因为我最初尝试过,但是在将 Java 实例暴露给正在运行的脚本时遇到了一些问题。javax.scripting
框架使它(它在引擎盖下使用 Rhino)使这变得微不足道,并且还简化了多线程服务器中的运行脚本。
我想将可以在运行脚本中访问/实例化的 Java 类列入白名单。谁能指出我如何实现这一目标的示例或文档?