Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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.