Kelas System.Xml.XmlReader Pengaturan

Artikel ini menyediakan keterangan tambahan untuk dokumentasi referensi untuk API ini.

Anda menggunakan Create metode untuk mendapatkan XmlReader instans. Metode ini menggunakan XmlReaderSettings kelas untuk menentukan fitur mana yang akan diterapkan dalam objek yang XmlReader dibuatnya.

Lihat bagian Keterangan dari XmlReader halaman referensi dan Create untuk informasi tentang pengaturan mana yang akan digunakan untuk pemeriksaan kesamaan, validasi, dan skenario umum lainnya. XmlReaderSettings() Lihat konstruktor untuk daftar pengaturan default.

Pertimbangan keamanan

Pertimbangkan hal berikut saat menggunakan XmlReaderSettings kelas .

  • Bendera ProcessInlineSchemaXmlReaderSettings validasi dan ProcessSchemaLocation objek tidak diatur secara default. Ketika bendera ini diatur, XmlResolver objek XmlReaderSettings digunakan untuk menyelesaikan lokasi skema yang ditemui dalam dokumen instans di XmlReader. XmlResolver Jika objek adalah null, lokasi skema tidak diselesaikan meskipun ProcessInlineSchema bendera validasi dan ProcessSchemaLocation diatur.

  • Skema yang ditambahkan selama validasi menambahkan jenis baru dan dapat mengubah hasil validasi dokumen yang sedang divalidasi. Akibatnya, skema eksternal hanya boleh diselesaikan dari sumber tepercaya.

  • Pesan kesalahan validasi dapat mengekspos informasi con mode tenda l yang sensitif. Kesalahan validasi dan pesan peringatan ditangani menggunakan ValidationEventHandler delegasi, atau diekspos sebagai XmlSchemaValidationException jika tidak ada penanganan aktivitas yang diberikan ke XmlReaderSettings objek (peringatan validasi tidak menyebabkan dilemparkan XmlSchemaValidationException ). Informasi con mode tenda l ini tidak boleh diekspos dalam skenario yang tidak tepercaya. Pesan peringatan validasi ditekan secara default dan dapat dilaporkan dengan mengatur ReportValidationWarnings bendera.

  • Properti SourceUri dari XmlSchemaValidationException mengembalikan jalur URI ke file skema yang menyebabkan pengecualian. Properti SourceUri tidak boleh diekspos dalam skenario yang tidak tepercaya.

  • ProcessIdentityConstraints Menonaktifkan bendera (diaktifkan secara default) disarankan saat memvalidasi, tidak tepercaya, dokumen XML besar dalam skenario ketersediaan tinggi terhadap skema dengan batasan identitas di sebagian besar dokumen.

  • XmlReaderSettings objek dapat berisi informasi sensitif seperti kredensial pengguna. Anda harus berhati-hati saat penembolokan XmlReaderSettings objek, atau saat meneruskan XmlReaderSettings objek dari satu komponen ke komponen lainnya.

  • Pemrosesan DTD dinonaktifkan secara default. Jika Anda mengaktifkan pemrosesan DTD, Anda perlu mengetahui menyertakan DTD dari sumber yang tidak tepercaya dan kemungkinan penolakan serangan layanan. XmlSecureResolver Gunakan untuk membatasi sumber daya yang XmlReader dapat diakses.

  • Jangan menerima komponen pendukung, seperti NameTable, , XmlNamespaceManagerdan XmlResolver objek, dari sumber yang tidak tepercaya.

  • Penggunaan memori aplikasi yang menggunakan XmlReader mungkin memiliki korelasi dengan ukuran dokumen XML yang diurai. Salah satu bentuk penolakan serangan layanan adalah ketika dokumen XML yang terlalu besar dikirimkan untuk diurai. Anda dapat membatasi ukuran dokumen yang dapat diurai dengan mengatur MaxCharactersInDocument properti lalu membatasi jumlah karakter yang dihasilkan dari memperluas entitas dengan mengatur MaxCharactersFromEntities properti .