我对如何使用脚本语言以沙盒方式执行简单的代码块感兴趣。宿主语言/环境可以是 c#/ruby/python/java(除了 c 之外的任何语言)。但是脚本语言同样可能是晦涩难懂的,例如 javascript/python/ruby/perl 等。
我想要的是一种使用传统编程结构(即条件/循环/日期操作/数组等)执行脚本的方式。但我不想要的是公开诸如 IO、与 http 流的连接、数据库等内容。
我目前正在使用 python 适配器查看 spidermonkey,但我想知道是否还有其他选项需要考虑。
最佳答案
Lua 非常容易将代码沙箱化。这里是 Lua wiki 上的引用资料.这是一种极简主义的脚本语言,易于嵌入到其他(C 或 C++)代码中。因此,您的主机将是嵌入在其他代码中的 Lua(或只是工厂安装的 Lua 解释器)。您的脚本语言将是 Lua。
但是,如果您不知道,我相信还有其他不需要您学习新语言的好解决方案。
关于security - 沙盒脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2292723/