System.Xml.XmlReaderSettings osztály

Megjegyzés:

Ez a cikk kiegészítő megjegyzéseket tartalmaz az API referenciadokumentációjához.

A Create metódust használva szerezhet XmlReader példányokat. Ez a metódus az XmlReaderSettings osztály használatával határozza meg, hogy mely szolgáltatásokat kell implementálnia az XmlReader általa létrehozott objektumban.

A megfelelőségi ellenőrzésekhez, az ellenőrzéshez és más gyakori forgatókönyvekhez használandó beállításokról a megjegyzések és a XmlReaderCreate referenciaoldalak Megjegyzések szakaszában olvashat. Az alapértelmezett beállítások listáját a XmlReaderSettings() konstruktorban találja.

Biztonsági szempontok

Az osztály használatakor vegye figyelembe az alábbiakat XmlReaderSettings .

  • Az ProcessInlineSchema objektum ProcessSchemaLocation és XmlReaderSettings érvényesítési jelzői alapértelmezés szerint nincsenek beállítva. Ha ezek a jelzők be vannak állítva, az XmlResolverXmlReaderSettings objektumot használjuk a példánydokumentumban észlelt sémahelyek feloldására a XmlReader-ben. Ha az XmlResolver objektum az null, akkor a sémahelyeket akkor sem oldja fel a rendszer, ha az ProcessInlineSchema érvényesítési ProcessSchemaLocation jelölők be vannak állítva.

  • Az ellenőrzés során hozzáadott sémák új típusokat adnak hozzá, és megváltoztathatják az érvényesítendő dokumentum érvényesítési eredményét. Ennek eredményeképpen a külső sémákat csak megbízható forrásokból kell feloldani.

  • Az érvényesítési hibaüzenetek bizalmas tartalommodell-információkat tehetnek közzé. Az érvényesítési hiba- és figyelmeztető üzenetek a ValidationEventHandler delegált segítségével kerülnek kezelésre, vagy egy XmlSchemaValidationException-ként jelennek meg, ha nincs eseménykezelő biztosítva a XmlReaderSettings objektumnak (az érvényesítési figyelmeztetések nem idéznek elő XmlSchemaValidationException-t). Ezek a tartalommodell-információk nem fedhetők fel nem megbízható helyzetekben. Az érvényesítési figyelmeztető üzenetek alapértelmezés szerint el vannak tiltva, és a ReportValidationWarnings jelölő beállításával jelenthetők.

  • Az SourceUriXmlSchemaValidationException tulajdonsága visszaadja a kivételt okozó sémafájl URI-elérési útját. Nem megbízható helyzetekben a SourceUri tulajdonságot nem szabad kitenni.

  • A ProcessIdentityConstraints jelző letiltását (alapértelmezés szerint engedélyezve) akkor ajánlott, ha nagy méretű XML-dokumentumokat ellenőriz nagy rendelkezésre állási esetekben egy olyan séma ellen, amely identitáskorlátokat tartalmaz a dokumentum nagy részén.

  • XmlReaderSettings az objektumok bizalmas információkat, például felhasználói hitelesítő adatokat tartalmazhatnak. Óvatosnak kell lennie az XmlReaderSettings objektumok gyorsítótárazásakor, vagy amikor az XmlReaderSettings objektumot egyik komponensről a másikra adja át.

  • A DTD-feldolgozás alapértelmezés szerint le van tiltva. Ha engedélyezi a DTD-feldolgozást, tisztában kell lennie azzal, hogy nem megbízható forrásokból származó DTD-ket és lehetséges szolgáltatásmegtagadási támadásokat tartalmaz. XmlSecureResolver Ezzel korlátozhatja azokat az erőforrásokat, amelyekhez a XmlReader felhasználók hozzáférhetnek.

  • Nem megbízható forrásból származó támogató összetevőket, például NameTable, XmlNamespaceManagerés XmlResolver objektumokat nem fogad el.

  • A használt XmlReader alkalmazások memóriahasználata korrelációt okozhat az elemezt XML-dokumentum méretével. A szolgáltatásmegtagadási támadás egyik formája, ha a rendszer túlzottan nagy XML-dokumentumokat küld elemzésre. Az MaxCharactersInDocument tulajdonság beállításával korlátozhatja az elemezhető dokumentum méretét, majd az MaxCharactersFromEntities tulajdonság beállításával korlátozhatja az entitások bővítéséből eredő karakterek számát.