在沙箱中运行IronRuby代码

时间:2012-08-17 10:32:39

标签: c# .net asp.net-mvc ironruby

我有一个Web应用程序,允许用户输入要使用IronRuby执行的Ruby程序,并将结果输出到网页。

这是我用来创建IronRuby引擎并运行代码的代码:

var engine = Ruby.CreateEngine();

var source = engine.CreateScriptSourceFromString
                (sourceCodeSpecifiedByUser, SourceCodeKind.Statements);

source.ExecuteProgram();

这存在安全问题,因为任何用户都可以运行执行不安全任务的Ruby代码(例如,枚举/修改文件)。

我想尝试将File.open等字符串列入黑名单,Dir一定会失败,所以我甚至没有考虑过这种可能性。

有没有办法以较低的权限运行IronRuby引擎以避免安全问题?

0 个答案:

没有答案