XmlReaderSettings.MaxCharactersInDocument Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendapatkan atau menetapkan nilai yang menunjukkan jumlah karakter maksimum yang diizinkan dalam dokumen XML. Nilai nol (0) berarti tidak ada batasan pada ukuran dokumen XML. Nilai bukan nol menentukan ukuran maksimum, dalam karakter.
public:
property long MaxCharactersInDocument { long get(); void set(long value); };
public long MaxCharactersInDocument { get; set; }
member this.MaxCharactersInDocument : int64 with get, set
Public Property MaxCharactersInDocument As Long
Nilai Properti
Jumlah karakter maksimum yang diizinkan dalam dokumen XML. Defaultnya adalah 0.
Contoh
Kode berikut mengatur properti ini, lalu mencoba mengurai dokumen yang lebih besar dari batas. Dalam skenario dunia nyata, Anda akan menetapkan batas ini ke nilai yang cukup besar untuk menangani dokumen yang valid, namun cukup kecil untuk membatasi ancaman dari dokumen berbahaya.
string markup = "<Root>Content</Root>";
XmlReaderSettings settings = new XmlReaderSettings();
settings.MaxCharactersInDocument = 10;
try
{
XmlReader reader = XmlReader.Create(new StringReader(markup), settings);
while (reader.Read()) { }
}
catch (XmlException ex)
{
Console.WriteLine(ex.Message);
}
Dim markup As String = "<Root>Content</Root>"
Dim settings As XmlReaderSettings = New XmlReaderSettings()
settings.MaxCharactersInDocument = 10
Try
Dim reader As XmlReader = XmlReader.Create(New StringReader(markup), settings)
While (reader.Read())
End While
Catch ex As XmlException
Console.WriteLine(ex.Message)
End Try
Kode ini menghasilkan output berikut:
There is an error in XML document (MaxCharactersInDocument, ).
Keterangan
Nilai nol (0) berarti tidak ada batasan jumlah karakter dalam dokumen yang diurai. Nilai bukan nol menentukan jumlah maksimum karakter yang dapat diurai.
Jumlah karakter maksimum untuk dokumen mencakup jumlah karakter yang dihasilkan dari entitas yang diperluas.
Jika pembaca mencoba membaca dokumen dengan ukuran yang melebihi properti ini, akan XmlException dilemparkan.
Properti ini memungkinkan Anda untuk mengurangi penolakan serangan layanan di mana penyerang mengirimkan dokumen XML yang sangat besar. Dengan membatasi ukuran dokumen, Anda dapat mendeteksi serangan dan memulihkan dengan andal.