如何限制流程能力?

时间:2011-06-25 18:59:16

标签: c# permissions

我正在为ACM解决方案(如TopCoder,Timus等)编写一种通用的竞争系统。当用户使用Web服务发送他的解决方案时,我需要运行/编译它。我想为它设置限制,以便安全地运行它们(无法访问外部文件,无法获取系统时间,无法更改工作目录等) 有两种用户解决方案:

  • 可编译的解决方案(又名c / c ++ / pascal),jit-ed和字节码解决方案(c#,java)

  • 解释解决方案(lisp / ruby​​ / python / php)

Contester系统是用C#编写的.NET 3.5。 Contester可以在Mono上运行Linux,也可以在.NET上运行。

最好的方法是什么?如果能够限制编译的解决方案(使用PermissionAttributes),但我不知道如何限制解释的解决方案。

1 个答案:

答案 0 :(得分:0)

最简单(看到您可能需要完全信任)是在非常有限的用户帐户下运行。 IIRC的访客帐户不能用于此。

编辑:

干净的VM可能是理想的。

相关问题