沙盒脚本

时间:2010-02-18 22:27:58

标签: security scripting sandbox

我对如何使用脚本语言以沙盒方式执行简单代码块感兴趣。宿主语言/环境可以是c#/ ruby​​ / python / java(除了c之外的任何东西)。但是脚本语言同样可能是一些模糊不清的东西,比如javascript / python / ruby​​ / perl等。

我想要的是一种使用传统编程结构执行脚本的方法,即条件/循环/日期操作/数组等。但我不想要的是暴露诸如IO,连接到http流,数据库等的东西。

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

2 个答案:

答案 0 :(得分:2)

Lua非常容易使用沙盒代码。以下是Lua wiki的参考资料。它是一种极好的极简主义脚本语言,易于嵌入其他(C或C ++)代码中。所以你的主机将Lua嵌入到其他一些代码中(或者只是工厂安装的Lua解释器)。你的脚本语言是Lua。

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

答案 1 :(得分:1)

您可以通过Code Access Security使用.NET(VB,C#,任何语言)来执行此操作 - 将计算机上的策略设置为不允许访问您喜欢的任何Framework类。

Setting Security Policy

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