System.Xml.XmlReader设置。Schemas 属性

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

本文涉及该 Schemas 属性。

重要

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

XmlSchemaSet 类仅支持 XML 架构定义语言 (XSD) 架构。 XmlReader 无法将该方法创建的 Create 实例配置为启用 XML-Data Reduced (XDR) 架构验证。

安全注意事项

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

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