如何在沙盒中使用 Rhino for Java 运行 Javascript?
2022-09-01 06:11:55
我们的Java应用程序的一部分需要运行由非开发人员编写的javascript。这些非开发人员正在使用javascript进行数据格式化。(主要是简单的逻辑和字符串串联)。
我的问题是,如何设置这些脚本的执行,以确保脚本错误不会对应用程序的其余部分产生重大的负面影响。
- 需要防范无限循环
- 防止生成新线程。
- 限制对服务和环境的访问
- 文件系统(例如:如果心怀不满的脚本编写者决定删除文件)
- 数据库(同样删除数据库记录)
基本上,我需要设置javascript范围,只包含他们需要的东西,而不是更多。