Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Anmärkning
Den här artikeln innehåller ytterligare kommentarer till referensdokumentationen för det här API:et.
Du använder Create metoden för att hämta XmlReader instanser. Den här metoden använder XmlReaderSettings klassen för att ange vilka funktioner som ska implementeras i objektet som XmlReader skapar.
Se avsnitten Kommentarer på referenssidorna XmlReader och Create för information om vilka inställningar som ska användas för efterlevnadskontroller, validering och andra vanliga scenarier. XmlReaderSettings() Se konstruktorn för en lista över standardinställningar.
Säkerhetsfrågor
Tänk på följande när du använder XmlReaderSettings klassen.
Valideringsflaggor ProcessInlineSchema och ProcessSchemaLocation för ett XmlReaderSettings objekt anges inte som standard. När dessa flaggor anges används objektet XmlResolverXmlReaderSettings för att lösa schema platser som påträffas i instansdokumentet i XmlReader. Om objektet XmlResolver är
nulllöses inte schemaplatserna även om ProcessInlineSchema valideringsflaggorna och ProcessSchemaLocation har angetts.Scheman som läggs till under valideringen lägger till nya typer och kan ändra valideringsresultatet för dokumentet som verifieras. Därför bör externa scheman endast hämtas från betrodda källor.
Valideringsfelmeddelanden kan exponera information om känslig innehållsmodell. Verifieringsfel och varningsmeddelanden hanteras med hjälp av ombudet ValidationEventHandler eller exponeras som en XmlSchemaValidationException om ingen händelsehanterare tillhandahålls till XmlReaderSettings objektet (valideringsvarningar orsakar inte att ett XmlSchemaValidationException utlöses). Den här innehållsmodellinformationen bör inte exponeras i obetrodda scenarier. Valideringsvarningsmeddelanden ignoreras som standard och kan rapporteras genom att flaggan anges ReportValidationWarnings .
Egenskapen SourceUri för en XmlSchemaValidationException returnerar URI-sökvägen till schemafilen som orsakade undantaget. Egenskapen SourceUri ska inte exponeras i ej betrodda scenarier.
Att inaktivera ProcessIdentityConstraints flaggan (aktiverad som standard) rekommenderas när du validerar, ej betrodda, stora XML-dokument i scenarier med hög tillgänglighet mot ett schema med identitetsbegränsningar över en stor del av dokumentet.
XmlReaderSettings objekt kan innehålla känslig information, till exempel autentiseringsuppgifter för användare. Du bör vara försiktig när du cachelagr XmlReaderSettings objekt eller när du skickar objektet XmlReaderSettings från en komponent till en annan.
DTD-bearbetning är inaktiverad som standard. Om du aktiverar DTD-bearbetning måste du vara medveten om att inkludera DTD:er från ej betrodda källor och möjliga överbelastningsattacker. XmlSecureResolver Använd för att begränsa de resurser som XmlReader kan komma åt.
Acceptera inte stödkomponenter, till exempel NameTable, XmlNamespaceManageroch XmlResolver objekt, från en ej betrodd källa.
Minnesanvändning för ett program som använder XmlReader kan ha en korrelation till storleken på det tolkade XML-dokumentet. En form av överbelastningsattack är när alltför stora XML-dokument skickas för att parsas. Du kan begränsa storleken på dokumentet som kan parsas genom att ange MaxCharactersInDocument egenskapen och sedan begränsa antalet tecken som uppstår när entiteter expanderas genom att ange MaxCharactersFromEntities egenskapen.