Kelas System.Xml.Xsl.XslCompiledTransform
Artikel ini menyediakan keterangan tambahan untuk dokumentasi referensi untuk API ini.
Kelas XslCompiledTransform adalah prosesor XSLT yang mendukung sintaks XSLT 1.0. Ini adalah implementasi baru dan mencakup perolehan performa jika dibandingkan dengan kelas usang XslTransform . Struktur XslCompiledTransform kelas sangat mirip XslTransform dengan kelas . Metode memuat Load dan mengkompilasi lembar gaya, sementara Transform metode menjalankan transformasi XSLT.
Dukungan untuk fungsi XSLT document()
dan blok skrip yang disematkan dinonaktifkan secara default. Fitur-fitur ini dapat diaktifkan dengan membuat XsltSettings objek dan meneruskannya ke Load metode .
Untuk informasi selengkapnya, lihat Menggunakan Kelas XslCompiledTransform dan Migrasi Dari Kelas XslTransform.
Pertimbangan keamanan
Saat membuat aplikasi yang menggunakan XslCompiledTransform kelas , Anda harus mengetahui item berikut dan implikasinya:
Pembuatan skrip XSLT dinonaktifkan secara default. Skrip XSLT harus diaktifkan hanya jika Anda memerlukan dukungan skrip dan Anda bekerja di lingkungan yang sepenuhnya tepercaya.
Fungsi XSLT
document()
dinonaktifkan secara default. Jika Anda mengaktifkandocument()
fungsi, batasi sumber daya yang dapat diakses dengan meneruskan XmlSecureResolver objek ke Transform metode .Objek ekstensi diaktifkan secara default. Jika objek yang XsltArgumentList berisi objek ekstensi diteruskan ke Transform metode , objek tersebut digunakan.
Lembar gaya XSLT dapat menyertakan referensi ke file lain dan blok skrip yang disematkan. Pengguna berbahaya dapat mengeksploitasi ini dengan memberi Anda lembar data atau gaya yang ketika dijalankan dapat menyebabkan sistem Anda memproses hingga komputer kehabisan sumber daya.
Aplikasi XSLT yang berjalan di lingkungan kepercayaan campuran dapat mengakibatkan spoofing lembar gaya. Misalnya, pengguna berbahaya dapat memuat objek dengan lembar gaya berbahaya dan menyerahkannya kepada pengguna lain yang kemudian memanggil Transform metode dan menjalankan transformasi.
Masalah keamanan ini dapat dimitigasi dengan tidak mengaktifkan pembuatan skrip atau document()
fungsi kecuali lembar gaya berasal dari sumber tepercaya, dan dengan tidak menerima XslCompiledTransform objek, lembar gaya XSLT, atau data sumber XML dari sumber yang tidak tepercaya.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk