XmlReaderSettings.MaxCharactersInDocument Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá nebo nastaví hodnotu označující maximální povolený počet znaků v dokumentu XML. Nulová hodnota (0) znamená žádné omezení velikosti dokumentu XML. 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 tuto vlastnost nastaví a pokusí se analyzovat dokument větší než limit. Ve skutečném scénáři byste tento limit nastavili na hodnotu dostatečně velkou pro zpracování platných dokumentů, ale dostatečně malé, abyste omezili hrozbu ze š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
Tento kód vytvoří následující výstup:
There is an error in XML document (MaxCharactersInDocument, ).
Poznámky
Nulová hodnota (0) znamená žádné limity počtu znaků v analyzovaném dokumentu. Nenulová hodnota určuje maximální počet znaků, které je možné analyzovat.
Maximální počet znaků dokumentu zahrnuje počet znaků, které jsou výsledkem rozbalených entit.
Pokud se čtenář pokusí přečíst dokument s velikostí, která tuto vlastnost překročí, XmlException vyvolá se.
Tato vlastnost umožňuje zmírnit útoky na dostupnost služby, kdy útočník odesílá extrémně velké dokumenty XML. Omezením velikosti dokumentu můžete útok rozpoznat a spolehlivě obnovit.