摘要:
有些库代码需要调用未被管理的代码,例如,本地代码 API(如 Win32)。因为这表示被管理的代码已经超出了安全范围之外,因此适当的谨慎是必需的。如果你的代码是属于安全中立的,那么你的代码与任何对它进行调用的代码都必须拥有未被管理的代码许可(指定了 UnmanagedCode 标记的 SecurityPermission)。 阅读全文
2007年2月11日 #
2007年2月10日 #
摘要:
呈现一个 Windows 列表视图控件,并且能够以四种不同的视图中的任何一种来显示一个子项集合。 阅读全文
摘要:
安全声明提供了两种类似的安全检查来完成不同的任务。你应该理解这两种形式,因为错误的选择能够削弱安全性或者损失性能。关于更多信息,请参考:[安全要求]。 阅读全文
2007年2月9日 #
摘要:
一些方法被用来装载被管理代码,包括 Assembly.Load,它们会以调用者的意图来装载汇编集。如果你包装了这些方法中的任何一个,那么安全系统就会使用你的代码许可批准,替代对你的包装器进行调用的调用者许可来装载这些汇编集。所以你不应该允许几乎不被信任的代码来装载比你的包装器调用者拥有更高级别的代码。 阅读全文
摘要:
连接要求的一种特殊的保护情况在安全机制中被加强,但是它在你的代码中仍然可能是一个弱点来源。 阅读全文
2007年2月8日 #
摘要:
委派安全在不同的 .NET Framework 版本之间是有区别的。本文描述了不同的委派行为以及相关的安全考虑。 阅读全文
摘要:
包装代码,尤其是比它的使用者拥有更高可信任度的包装代码,能够公开一个独特的安全弱点集。在调用者的被限制许可没有被包括在适当的安全检查中的时候,它会为调用者完成任何事情,并且也是一个潜在的可被利用的安全弱点。 阅读全文
2007年2月7日 #
摘要:
在确定你的代码不可用于其他汇编集的时候,你就必须知道对于类型系统可访问性的细微差别。一个被声明成 virtual 或者 internal(在 Visual Basic 中是 Overloads Overridable Friend)的方法能够重载父类的虚表入口并且只能够在相同的汇编集中被使用,因为它是内嵌的。但是,重载的可访问性却能够通过 virtual 关键字而被检测,并且能够从另外一个汇编集中被重载,只要那个代码能够对类的本身进行访问。如果在实现重载时有可能会呈现出一个问题,那么就可以使用安全声明来修复它,或者是删除 virtual 关键字(如果它不是严格所必需的)。 阅读全文
摘要:
如本文所示,使用通过部分被信任的代码而被使用的声明来防止特殊的类与方法,包括属性与事件。通过把这些声明作用于一个类,你就可以把保护应用到它的所有方法、属性,以及事件;但是要注意的是,字段访问并没有通过安全声明而受到影响。但是同样要注意的是连接要求只有助于反向保护直接的调用者并且仍然会受到引诱攻击的影响。 阅读全文
摘要:
一些方法可能没有适当地允许调用任何非可信任的代码。这种方法能够引起几个隐患:方法有可能提供一些受限制的信息;也可能相信任何被传递给它的信息;甚至还可能不会对参数进行错误检查;或者持有错误的参数,因此会导致一些故障或者伤害。所以,你应该了解到这些情况并且采取相应的措施来保护这些方法。 阅读全文