XmlReaderSettings.MaxCharactersInDocument Properti

Definisi

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.

Berlaku untuk