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.
Colaborar con nosotros en GitHub
El origen de este contenido se puede encontrar en GitHub, donde también puede crear y revisar problemas y solicitudes de incorporación de cambios. Para más información, consulte nuestra guía para colaboradores.
Comentarios de .NET
.NET es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios:
Únase a la serie de reuniones para crear soluciones de inteligencia artificial escalables basadas en casos de uso reales con compañeros desarrolladores y expertos.