在C#/.NET应用程序中,沙盒中的脚本语言

6

[此问题类似于这个问题,但我还对沙箱的可能性感兴趣。]

我正在考虑将一种脚本语言嵌入到我的C#/.NET应用程序中,并向脚本公开我的应用程序API。有多种好的选择(如Lua、Boo、IronPython等),但是否有简单的选项可以限制脚本语言使用内置函数?例如,我不希望脚本能够执行I/O操作,除非通过我明确公开的API进行,因此不能打印到控制台、打开文件等。这些脚本语言中是否提供了一种简单的方法来实现这一点?


不确定您需要多少保护,但不要忘记沙箱可能还需要覆盖DOS攻击-无限循环等。 - stusmith
2个回答

4

3
我自己曾在Windows上使用过PowerShell作为脚本语言,发现它非常有用,如果您熟悉.NET,那么使用起来会更加容易。您可以下载一个两页的参考文档在这里,这就是您开始所需的全部内容。但是,您可以使用.NET System.IO命名空间通过PowerShell执行IO操作。同样发布在此链接下。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接