【发布时间】:2012-04-05 09:07:27
【问题描述】:
我需要允许我的用户在我的服务器上执行 他们提供的 .NET 代码。我知道安全是一个大问题,但必须这样做。
目前,我在有限的 Windows 帐户下运行我的用户代码。但是,我担心 .NET 框架提供了许多类,如果被恶意使用,可能会损害服务器——Reflection 命名空间下的类就是一个例子,CodeDom 是另一个问题。
我希望有一种方法可以创建一个可以运行 .NET 代码但完全隔离的“轻量级虚拟环境”。有点像 Virtual PC,但更轻量级 - 唯一的功能是用户可以进行计算,并且可能调用 3rd 方网络服务。
市场上是否有为 .NET 应用程序提供隔离环境的产品?
谢谢。
【问题讨论】:
-
这并不能直接回答问题,但您可以考虑在 Linux 上使用 Mono。它不提供完美的 .NET 功能,但它可以帮助防止对服务器造成损害。 mono-project.com/Main_Page
-
它是什么样的代码,它在做什么?一个 Winform 应用程序,一个由您的应用程序加载的插件 DLL,一个 ASP.NET 页面?它将影响您可以使用的隔离选择。
标签: .net virtualization isolation windows-virtual-pc