System.Xml.XmlReader Nastavení – třída

Tento článek obsahuje doplňující poznámky k referenční dokumentaci pro toto rozhraní API.

Tuto metodu Create použijete k získání XmlReader instancí. Tato metoda používá XmlReaderSettings třídu k určení funkcí, které se mají implementovat v objektu XmlReader , který vytvoří.

Informace o tom, která nastavení se mají použít pro kontroly shody, ověřování a další běžné scénáře, najdete v částech XmlReader Poznámky a Create referenční stránky. Seznam výchozích nastavení najdete v XmlReaderSettings() konstruktoru.

Bezpečnostní aspekty

Při použití XmlReaderSettings třídy zvažte následující skutečnosti.

  • Příznaky ProcessInlineSchema a ProcessSchemaLocation příznaky ověření objektu XmlReaderSettings nejsou ve výchozím nastavení nastaveny. Při nastavení XmlResolverXmlReaderSettings těchto příznaků se objekt použije k překladu umístění schématu, ke kterým došlo v dokumentu instance v dokumentu instance v objektu XmlReader. XmlResolver Pokud je nullobjekt , umístění schématu nejsou vyřešena, i když ProcessInlineSchema jsou nastavené příznaky ověřováníProcessSchemaLocation.

  • Schémata přidaná během ověřování přidávají nové typy a můžou změnit výsledek ověření ověřovaného dokumentu. V důsledku toho by externí schémata měla být vyřešena pouze z důvěryhodných zdrojů.

  • Chybové zprávy ověřování můžou zveřejnit citlivé informace o režim stanu l. Chyby ověření a zprávy upozornění se zpracovávají pomocí delegáta ValidationEventHandler nebo jsou vystaveny jako XmlSchemaValidationException v případě, že objektu XmlReaderSettings není zadána žádná obslužná rutina události (upozornění ověření nezpůsobí XmlSchemaValidationException vyvolání). Tyto režim stanu l informace by neměly být zpřístupněny v nedůvěryhodných scénářích. Zprávy upozornění na ověření jsou ve výchozím nastavení potlačeny a lze je hlásit nastavením příznaku ReportValidationWarnings .

  • Vlastnost SourceUri vrátí XmlSchemaValidationException cestu URI k souboru schématu, který způsobil výjimku. Vlastnost SourceUri by neměla být vystavena v nedůvěryhodných scénářích.

  • Zakázání příznaku ProcessIdentityConstraints (ve výchozím nastavení povoleno) se doporučuje při ověřování, nedůvěryhodných a velkých dokumentech XML ve scénářích s vysokou dostupností ve scénářích s omezením identit nad velkou částí dokumentu.

  • XmlReaderSettings objekty mohou obsahovat citlivé informace, jako jsou přihlašovací údaje uživatele. Při ukládání objektů do mezipaměti XmlReaderSettings nebo při předávání objektu XmlReaderSettings z jedné komponenty do jiné byste měli být opatrní.

  • Zpracování DTD je ve výchozím nastavení zakázané. Pokud povolíte zpracování DTD, musíte mít na paměti zahrnutí DTD z nedůvěryhodných zdrojů a možných útoků na dostupnost služby. XmlSecureResolver Použijte k omezení prostředků, ke kterým XmlReader má přístup.

  • Nepřijímají podpůrné komponenty, jako NameTablejsou , XmlNamespaceManagera XmlResolver objekty z nedůvěryhodného zdroje.

  • Využití paměti aplikace, která používá XmlReader , může mít korelaci s velikostí analyzovaného dokumentu XML. Jednou z forem útoku na dostupnost služby je odeslání příliš velkých dokumentů XML, které se mají analyzovat. Velikost dokumentu, který lze analyzovat, můžete omezit nastavením MaxCharactersInDocument vlastnosti a poté omezit počet znaků, které mají za následek rozbalení entit nastavením MaxCharactersFromEntities vlastnosti.