【发布时间】:2013-05-05 11:58:42
【问题描述】:
我正在寻找一种脚本语言:
- 一种可嵌入 Java 的脚本语言
- 实际上我的意思是不会作为本机代码执行,而是解释的东西
- 安全(用户将上传他们的脚本,然后在服务器上执行)
- 无法访问某些“沙盒”之外的任何内容,无法访问线程、I/O 等。
- 只是流控制 + 算法/数据结构(可能是一些预定义的“类”,如集合)+ 与明确提供的 API 的交互
- 可以限制每个脚本的执行时间(n 秒或 n 条指令)
- 如果语言被解释,这是可能的。例如:将每条指令替换为“检查我是否应该执行下一条指令并执行或退出”
- 语法简单易读
最终目标是能够运行不受信任的代码,这些代码应该只能使用提供的 API,而不会破坏任何东西(比如进入无限循环/消耗太多资源/访问除了提供的 API 之外的任何东西)
我可以使用一些现有的语言吗?
【问题讨论】:
-
我认为 Java 原生支持 JavaScript。
-
@Supericy - 我认为只有 Java 的最新版本。此外,这仅解决了第一个标准。