本文提供了此 API 参考文档的补充说明。
本文涉及该 Schemas 属性。
重要
- 请勿使用来自未知或不受信任的源或位置的架构。 这样做会损害代码的安全性。
- XML 架构(包括内联架构)本质上容易受到拒绝服务攻击;在不受信任的方案中不接受它们。
- 架构验证错误消息和异常可能会公开有关架构文件的内容模型或 URI 路径的敏感信息。 请注意不要向不受信任的调用方公开此信息。
- 有关详细信息,请参阅“安全注意事项”部分。
该 XmlSchemaSet 类仅支持 XML 架构定义语言 (XSD) 架构。 Create 方法创建的 XmlReader 实例无法配置为启用 XML 数据简化 (XDR) 架构验证。
安全注意事项
不要使用来自未知或不受信任的源的架构。 这样做会损害代码的安全性。 默认情况下,该 XmlUrlResolver 类用于解析外部架构。 若要禁用架构的包含、导入和重新定义元素的解析,请将 XmlSchemaSet.XmlResolver 属性设置为
null
。由于使用 XmlSchemaSet 类而引发的异常,例如 XmlSchemaException 类,可能包含不应在不受信任的场景中公开的敏感信息。 例如,属性SourceUriXmlSchemaException返回导致异常的架构文件的 URI 路径。 SourceUri属性不应在不受信任的方案中公开。 应正确处理异常,以便在不受信任的方案中不公开此敏感信息。