6

我对如何使用脚本语言以沙盒方式执行简单的代码块感兴趣。宿主语言/环境可以是 c#/ruby/python/java(除了 c 之外的任何语言)。但是脚本语言同样可能是晦涩难懂的,例如 javascript/python/ruby/perl 等。

我想要的是一种使用传统编程结构(即条件/循环/日期操作/数组等)执行脚本的方法。但我不想要的是公开诸如 IO、与 http 流的连接、数据库等内容。

我目前正在使用 python 适配器查看 spidermonkey,但我想知道是否还有其他选项需要考虑。

4

2 回答 2

2

Lua 非常容易将代码沙箱化。这是Lua wiki上的参考。这是一种极简主义的脚本语言,易于嵌入到其他(C 或 C++)代码中。因此,您的主机将是嵌入在其他代码中的 Lua(或只是工厂安装的 Lua 解释器)。您的脚本语言将是 Lua。

但是,如果您不知道,我相信还有其他不需要您学习新语言的好解决方案。

于 2010-02-18T23:32:33.367 回答
1

您可以通过代码访问安全性使用 .NET(VB、C#、任何语言)来实现 - 将机器上的策略设置为不允许访问您喜欢的任何框架类。

请参阅设置安全策略

默认情况下,该策略允许源自本地计算机的代码执行任何操作;您可以将其设置为默认情况下,代码不能调用 I/O 类,不能进行 HTTP 连接,等等。

于 2010-02-18T22:46:57.253 回答