我感兴趣的是如何使用脚本语言以沙箱方式执行简单的代码块。宿主语言/环境可以是c#/ruby/python/java (c除外)。但是脚本语言同样也可以是晦涩难懂的语言,比如javascript/python/ruby/perl等。
我想要的是一种使用传统编程结构执行脚本的方式,例如条件/循环/日期操作/数组等。但我不想要的是公开IO、连接到http流、数据库等内容。
我目前正在研究使用python适配器的爬行猴,但我想知道是否有其他我应该考虑的选择。
发布于 2010-02-19 06:46:57
你可以通过Code Access Security用.NET (VB,C#,任何语言)来做这件事-在机器上设置策略,不允许访问你喜欢的任何框架类。
参见Setting Security Policy。
默认情况下,该策略允许源自本地计算机的代码执行任何操作;您可以对其进行设置,以便在默认情况下,代码不能调入I/O类,不能进行HTTP连接,等等。
发布于 2010-02-19 07:32:33
Lua很容易将代码放入沙箱中。这里有一个关于Lua wiki的参考资料。它是一种极好的极简主义脚本语言,很容易嵌入到其他(C或C++)代码中。因此,您的主机应该是嵌入在其他代码中的Lua (或者只是工厂安装的Lua解释器)。你的脚本语言应该是Lua。
但是,如果你不知道,我相信有其他好的解决方案不需要你学习一门新的语言。
https://stackoverflow.com/questions/2292723
复制相似问题