Aracılığıyla paylaş


System.Xml.XmlReader Ayarlar sınıfı

Bu makale, bu API'nin başvuru belgelerine ek açıklamalar sağlar.

Örnekleri almak XmlReader için yöntemini kullanırsınızCreate. Bu yöntem, oluşturduğu nesnede XmlReaderSettings hangi özelliklerin uygulanacağını belirtmek için sınıfını XmlReader kullanır.

Uyumluluk denetimleri, doğrulama ve diğer yaygın senaryolar XmlReader için hangi ayarların kullanılacağı hakkında bilgi için ve Create başvuru sayfalarının Açıklamalar bölümlerine bakın. Varsayılan ayarların XmlReaderSettings() listesi için oluşturucuya bakın.

Güvenlik konuları

sınıfını XmlReaderSettings kullanırken aşağıdakileri göz önünde bulundurun.

  • Bir XmlReaderSettings nesnenin ProcessInlineSchema ve ProcessSchemaLocation doğrulama bayrakları varsayılan olarak ayarlanmaz. Bu bayraklar ayarlandığında, XmlResolver nesnenin XmlReaderSettings nesnesi içindeki örnek belgesinde XmlReaderkarşılaşılan şema konumlarını çözümlemek için kullanılır. XmlResolver nesnesi ise nullve ProcessSchemaLocation doğrulama bayrakları ayarlansa ProcessInlineSchema bile şema konumları çözümlenmez.

  • Doğrulama sırasında eklenen şemalar yeni türler ekler ve doğrulanan belgenin doğrulama sonucunu değiştirebilir. Sonuç olarak dış şemalar yalnızca güvenilir kaynaklardan çözümlenmelidir.

  • Doğrulama hata iletileri hassas con çadır modu l bilgilerini kullanıma sunabilir. Doğrulama hatası ve uyarı iletileri temsilci kullanılarak ValidationEventHandler işlenir veya nesneye XmlReaderSettings hiçbir olay işleyicisi sağlanmadıysa (doğrulama uyarıları bir XmlSchemaValidationException atlanmasına neden olmaz) olarak XmlSchemaValidationException kullanıma sunulur. Bu con çadır modu l bilgileri güvenilmeyen senaryolarda gösterilmemelidir. Doğrulama uyarı iletileri varsayılan olarak gizlenebilir ve bayrağı ayarlanarak ReportValidationWarnings bildirilebilir.

  • özelliğiXmlSchemaValidationException, SourceUri özel duruma neden olan şema dosyasının URI yolunu döndürür. SourceUri özelliği güvenilmeyen senaryolarda kullanıma sunulmamalıdır.

  • Belgenin ProcessIdentityConstraints büyük bir bölümü üzerinde kimlik kısıtlamaları olan bir şemada yüksek kullanılabilirlik senaryolarında büyük XML belgeleri doğrulanırken bayrağın devre dışı bırakılması (varsayılan olarak etkindir) önerilir.

  • XmlReaderSettings nesneleri, kullanıcı kimlik bilgileri gibi hassas bilgiler içerebilir. Nesneleri önbelleğe alırken XmlReaderSettings veya nesneyi bir bileşenden diğerine geçirirken XmlReaderSettings dikkatli olmanız gerekir.

  • DTD işleme varsayılan olarak devre dışıdır. DTD işlemeyi etkinleştirirseniz, güvenilmeyen kaynaklardan DTD'leri ve olası hizmet reddi saldırılarını dahil etmeniz gerekir. 'nin erişebileceği kaynakları kısıtlamak için öğesini XmlSecureResolverXmlReader kullanın.

  • Güvenilmeyen bir kaynaktan , XmlNamespaceManagerve XmlResolver nesneleri gibi NameTabledestekleyici bileşenleri kabul etmeyin.

  • kullanan XmlReader bir uygulamanın bellek kullanımı, ayrıştırılmış XML belgesinin boyutuyla bağıntıya sahip olabilir. Hizmet reddi saldırısının bir biçimi, ayrıştırmak üzere aşırı büyük XML belgelerinin gönderilmesidir. Özelliği ayarlayarak MaxCharactersInDocument ayrıştırılabilir belgenin boyutunu sınırlayabilir ve ardından özelliği ayarlayarak MaxCharactersFromEntities varlıkların genişletilmesiyle sonuçlanan karakter sayısını sınırlayabilirsiniz.