System.Xml.XmlReaderSettings.Schemas 属性

本文提供了此 API 参考文档的补充说明。

本文涉及该 Schemas 属性。

重要

  • 请勿使用来自未知或不受信任的源或位置的架构。 这样做会损害代码的安全性。
  • XML 架构(包括内联架构)本质上容易受到拒绝服务攻击;在不受信任的方案中不接受它们。
  • 架构验证错误消息和异常可能会公开有关架构文件的内容模型或 URI 路径的敏感信息。 请注意不要向不受信任的调用方公开此信息。
  • 有关详细信息,请参阅“安全注意事项”部分。

XmlSchemaSet 类仅支持 XML 架构定义语言 (XSD) 架构。 Create 方法创建的 XmlReader 实例无法配置为启用 XML 数据简化 (XDR) 架构验证。

安全注意事项

  • 不要使用来自未知或不受信任的源的架构。 这样做会损害代码的安全性。 默认情况下,该 XmlUrlResolver 类用于解析外部架构。 若要禁用架构的包含、导入和重新定义元素的解析,请将 XmlSchemaSet.XmlResolver 属性设置为 null

  • 由于使用 XmlSchemaSet 类而引发的异常,例如 XmlSchemaException 类,可能包含不应在不受信任的场景中公开的敏感信息。 例如,属性SourceUriXmlSchemaException返回导致异常的架构文件的 URI 路径。 SourceUri属性不应在不受信任的方案中公开。 应正确处理异常,以便在不受信任的方案中不公开此敏感信息。