Compartir a través de


System.Xml.XmlReader Configuración. Propiedad Schemas

En este artículo se proporcionan comentarios adicionales a la documentación de referencia de esta API.

Este artículo pertenece a la Schemas propiedad .

Importante

  • No use esquemas de orígenes o ubicaciones desconocidos o que no sean de confianza. Al hacerlo, se pone en peligro la seguridad del código.
  • Los esquemas XML (incluidos los esquemas insertados) son inherentemente vulnerables a ataques por denegación de servicio; no los acepte en escenarios que no son de confianza.
  • Las excepciones y los mensajes de error de validación de esquemas pueden exponer información confidencial sobre el modelo de contenido o las rutas de acceso de URI al archivo de esquema. Tenga cuidado de no exponer esta información a personas que no sean de confianza.
  • Para obtener más información, consulte la sección "Consideraciones de seguridad".

La XmlSchemaSet clase solo admite esquemas del lenguaje de definición de esquemas XML (XSD). XmlReader Las instancias creadas por el Create método no se pueden configurar para habilitar la validación del esquema xml-Data Reduced (XDR).

Consideraciones sobre la seguridad

  • No use esquemas de orígenes desconocidos o que no sean de confianza. Si lo hace, se pondrá en peligro la seguridad del código. La clase XmlUrlResolver se usa para resolver esquemas externos de forma predeterminada. Para deshabilitar la resolución de elementos de inclusión, importación y redefinición de un esquema, establezca la propiedad XmlSchemaSet.XmlResolver en null.

  • Las excepciones generadas como resultado del uso de la clase XmlSchemaSet, como la clase XmlSchemaException, pueden contener información confidencial que no se debe exponer en escenarios que no son de confianza. Por ejemplo, la propiedad SourceUri de XmlSchemaException devuelve la ruta de acceso del identificador URI al archivo de esquema que provocó la excepción. La propiedad SourceUri no se debe exponer en escenarios que no sean de confianza. Las excepciones deben manipularse correctamente para que esta información confidencial no se exponga en escenarios que no son de confianza.