Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Nota
Artikel ini menyediakan keterangan tambahan untuk dokumentasi referensi untuk API ini.
Anda menggunakan metode Create untuk mendapatkan instance XmlReader. 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. Silakan lihat konstruktor dalam XmlReaderSettings() untuk daftar pengaturan default.
Pertimbangan keamanan
Pertimbangkan hal berikut saat menggunakan XmlReaderSettings kelas .
Bendera validasi ProcessInlineSchema dan ProcessSchemaLocation dari objek XmlReaderSettings tidak diatur secara default. Ketika parameter ini diatur, XmlResolver dari objek XmlReaderSettings digunakan untuk menentukan lokasi skema yang ditemukan dalam dokumen instance pada XmlReader. Jika objek XmlResolver adalah
null, lokasi skema tidak diselesaikan meskipun bendera validasi ProcessInlineSchema 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 model konten sensitif. Kesalahan validasi dan peringatan pesan ditangani dengan delegasi ValidationEventHandler, atau diekspos sebagai XmlSchemaValidationException jika tidak ada penanganan acara yang disediakan untuk objek XmlReaderSettings (peringatan validasi tidak menyebabkan XmlSchemaValidationException dilemparkan). Informasi model konten 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.
Menonaktifkan flag ProcessIdentityConstraints (yang diaktifkan secara default) disarankan ketika memvalidasi dokumen XML besar yang tidak tepercaya dalam skenario ketersediaan tinggi dengan skema yang memiliki batasan identitas di sebagian besar dokumen tersebut.
XmlReaderSettings objek dapat berisi informasi sensitif seperti kredensial pengguna. Anda harus berhati-hati saat pengelolaan cache XmlReaderSettings objek, atau saat menyampaikan XmlReaderSettings objek dari satu komponen ke komponen lainnya.
Pemrosesan DTD dinonaktifkan secara default. Jika Anda mengaktifkan pemrosesan DTD, Anda perlu waspada terhadap penyertaan DTD dari sumber yang tidak tepercaya dan potensi serangan penolakan layanan. XmlSecureResolver Gunakan untuk membatasi sumber daya yang XmlReader dapat diakses.
Jangan menerima komponen pendukung, seperti NameTable, XmlNamespaceManager, dan objek XmlResolver, 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 .