Sdílet prostřednictvím


XmlReaderSettings.MaxCharactersInDocument Vlastnost

Definice

Získá nebo nastaví hodnotu označující maximální povolený počet znaků v dokumentu XML. Nulová hodnota (0) znamená, že velikost dokumentu XML není nijak omezena. Nenulová hodnota určuje maximální velikost znaků.

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

Hodnota vlastnosti

Maximální povolený počet znaků v dokumentu XML. Výchozí hodnota je 0.

Příklady

Následující kód nastaví tuto vlastnost a pak se pokusí parsovat dokument větší, než je limit. V reálném scénáři byste tento limit nastavili na hodnotu dostatečně velkou pro zpracování platných dokumentů, ale zároveň dostatečně malou na to, aby se omezila hrozba škodlivých dokumentů.

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

Výsledkem tohoto kódu je následující výstup:

There is an error in XML document (MaxCharactersInDocument, ).

Poznámky

Nula (0) hodnota znamená, že počet znaků v parsovaného dokumentu není nijak omezen. Nenulová hodnota určuje maximální počet znaků, které lze analyzovat.

Maximální počet znaků v dokumentu zahrnuje počet znaků, které jsou výsledkem rozbalených entit.

Pokud se čtenář pokusí přečíst dokument s velikostí, která přesahuje tuto vlastnost, XmlException vyvolá se příkaz .

Tato vlastnost umožňuje zmírnit útoky dos, kdy útočník odesílá extrémně velké dokumenty XML. Omezením velikosti dokumentu můžete detekovat útok a spolehlivě ho obnovit.

Platí pro