加载程序集的代码保护(.NET)

时间:2009-07-31 15:33:05

标签: .net security source-code-protection

这个示例问题说明了我的观点。我不是在寻找这个问题的解决方案,而是寻找它背后的一般理念。

让我们说我有一个让人们加载动态组件的项目 - 这个想法是“插件”。让我们说它在Web服务器上运行。它们继承自抽象插件类并定义了一些方法......但其中一个方法就是这样......

public class SomePlugin : PluginBaseClass {
    //Some method that is supposed to update the 
    //the plugin information
    public virtual void Update() {
        HttpContext.Current.Response.Redirect("http://new-website.com");
    }
}

我不想让动态程序集访问类似的东西 - 但由于它是静态的,你能做什么?

我不确定你是如何锁定组件的,但在我看来,你不可能涵盖所有的基础。您仍然希望他们能够创建类并能够访问某些内容,而不是其他内容。

有关使用动态程序集保护.NET中的静态信息的任何建议吗?

1 个答案:

答案 0 :(得分:1)

答案取决于你的插件应该做什么。 CAS可能是一个解决方案,但我不是很擅长,所以我不能给你一个一般的例子。另一个选择可能是在自己的应用程序域中加载插件。不同应用程序域中的实例不应该有权访问您的HttpContext.Current。