Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Opmerking
In dit artikel vindt u aanvullende opmerkingen in de referentiedocumentatie voor deze API.
U gebruikt de Create-methode om XmlReader-instanties te verkrijgen. Deze methode gebruikt de XmlReaderSettings klasse om op te geven welke functies moeten worden geïmplementeerd in het XmlReader object dat wordt gemaakt.
Zie de secties Opmerkingen van de XmlReader en Create referentiepagina's voor informatie over welke instellingen moeten worden gebruikt voor nalevingscontroles, validatie en andere veelvoorkomende scenario's. Zie de XmlReaderSettings() constructor voor een lijst met standaardinstellingen.
Beveiligingsoverwegingen
Houd rekening met het volgende bij het gebruik van de XmlReaderSettings klasse.
De ProcessInlineSchema en ProcessSchemaLocation validatievlagmen van een XmlReaderSettings object zijn niet standaard ingesteld. Wanneer deze vlaggen zijn ingesteld, wordt het XmlResolver-object van XmlReaderSettings gebruikt om schemalocaties, die zijn aangetroffen in het exemplaardocument in de XmlReader, op te lossen. Als het XmlResolver object
nullis, worden schemalocaties niet opgelost, zelfs niet als de ProcessInlineSchema en ProcessSchemaLocation validatievlaggen zijn ingesteld.Schema's die tijdens de validatie zijn toegevoegd, voegen nieuwe typen toe en kunnen het validatieresultaat van het document dat wordt gevalideerd, wijzigen. Als gevolg hiervan mogen externe schema's alleen worden omgezet vanuit vertrouwde bronnen.
Validatiefoutberichten kunnen informatie over gevoelige inhoudsmodellen beschikbaar maken. Validatiefouten en waarschuwingsberichten worden afgehandeld met behulp van de ValidationEventHandler gedelegeerde, of worden weergegeven als een XmlSchemaValidationException als er geen event-handler is toegewezen aan het XmlReaderSettings object (validatiewaarschuwingen veroorzaken geen XmlSchemaValidationException). Deze informatie over het inhoudsmodel mag niet worden weergegeven in niet-vertrouwde scenario's. Validatiewaarschuwingsberichten worden standaard onderdrukt en kunnen worden gerapporteerd door de ReportValidationWarnings vlag in te stellen.
De SourceUri eigenschap van een XmlSchemaValidationException retourneert het URI-pad naar het schemabestand dat de uitzondering heeft veroorzaakt. De SourceUri eigenschap mag niet worden weergegeven in niet-vertrouwde scenario's.
Het uitschakelen van de ProcessIdentityConstraints vlag (standaard ingeschakeld) wordt aanbevolen bij het valideren, niet-vertrouwde, grote XML-documenten in scenario's met hoge beschikbaarheid tegen een schema met identiteitsbeperkingen voor een groot deel van het document.
XmlReaderSettings objecten kunnen gevoelige informatie bevatten, zoals gebruikersreferenties. U moet voorzichtig zijn bij het opslaan van objecten in de cache XmlReaderSettings of bij het doorgeven van het object van het ene onderdeel aan het XmlReaderSettings andere.
DTD-verwerking is standaard uitgeschakeld. Als u DTD-verwerking inschakelt, moet u rekening houden met het opnemen van DTD's van niet-vertrouwde bronnen en mogelijke Denial of Service-aanvallen. Gebruik de XmlSecureResolver om de resources te beperken waartoe de XmlReader toegang heeft.
Accepteer geen ondersteunende onderdelen, zoals NameTable, XmlNamespaceManageren XmlResolver objecten, van een niet-vertrouwde bron.
Geheugengebruik van een toepassing die gebruikmaakt XmlReader , kan een correlatie hebben met de grootte van het geparseerde XML-document. Een vorm van Denial of Service-aanvallen is wanneer te grote XML-documenten worden verzonden om te worden geparseerd. U kunt de grootte van het document beperken dat kan worden geparseerd door de MaxCharactersInDocument eigenschap in te stellen en vervolgens het aantal tekens te beperken dat het resultaat is van het uitbreiden van entiteiten door de MaxCharactersFromEntities eigenschap in te stellen.