Compartilhar via


Propriedade System.Xml.XmlReaderSettings.Schemas

Este artigo fornece comentários complementares à documentação de referência para esta API.

Este artigo refere-se à propriedade Schemas.

Importante

  • Não use esquemas de fontes ou locais desconhecidos ou não confiáveis. Isso compromete a segurança do seu código.
  • Esquemas XML (incluindo esquemas embutidos) são inerentemente vulneráveis a ataques de negação de serviço; não as aceite em cenários não confiáveis.
  • Mensagens de erro de validação de esquema e exceções podem expor informações confidenciais sobre o modelo de conteúdo ou caminhos de URI para o arquivo de esquema. Tenha cuidado para não expor essas informações a chamadores não confiáveis.
  • Para obter informações adicionais, consulte a seção "Considerações de segurança".

A XmlSchemaSet classe só dá suporte a esquemas XSD (linguagem de definição de esquema XML). As instâncias de XmlReader criadas pelo método Create não podem ser configuradas para habilitar a validação de esquema XML-Data Reduced (XDR).

Considerações de segurança

  • Não use esquemas de fontes desconhecidas ou não confiáveis. Isso comprometerá a segurança do seu código. A XmlUrlResolver classe é usada para resolver esquemas externos por padrão. Para desabilitar a resolução de elementos de inclusão, importação e redefinição de um esquema, defina a XmlSchemaSet.XmlResolver propriedade como null.

  • As exceções geradas como resultado do uso da XmlSchemaSet classe, como a XmlSchemaException classe, podem conter informações confidenciais que não devem ser expostas em cenários não confiáveis. Por exemplo, a SourceUri propriedade de um XmlSchemaException retorna o caminho de URI para o arquivo de esquema que causou a exceção. A propriedade SourceUri não deve ser exposta em cenários não confiáveis. As exceções devem ser tratadas corretamente para que essas informações confidenciais não sejam expostas em cenários não confiáveis.