XmlReaderSettings.MaxCharactersInDocument Eigenschaft

Definition

Ruft einen Wert ab, der die maximale zulässige Anzahl von Zeichen in einem XML-Dokument angibt, oder legt diesen fest. Der Wert 0 (null) gibt an, dass die Größe des XML-Dokuments nicht beschränkt ist. Ein Wert ungleich 0 (null) gibt die maximale Größe in Zeichen an.

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

Eigenschaftswert

Die maximale zulässige Anzahl von Zeichen in einem XML-Dokument. Die Standardeinstellung ist 0.

Beispiele

Der folgende Code legt diese Eigenschaft fest und versucht dann, ein Dokument zu analysieren, das den Grenzwert überschreitet. In einem realen Szenario würden Sie dieses Limit auf einen Wert festlegen, der groß genug ist, um gültige Dokumente zu verarbeiten, aber klein genug, um die Bedrohung durch böswillige Dokumente zu begrenzen.

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

Dieser Code erzeugt die folgende Ausgabe:

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

Hinweise

Ein Wert von null (0) bedeutet, dass die Anzahl der Zeichen im analysierten Dokument nicht begrenzt ist. Ein Wert ungleich 0 gibt die maximale Anzahl von Zeichen an, die analysiert werden können.

Die maximale Zeichenanzahl für das Dokument umfasst die Anzahl der Zeichen, die sich aus erweiterten Entitäten ergeben.

Wenn der Leser versucht, ein Dokument mit einer Größe zu lesen, die diese Eigenschaft überschreitet, wird ein XmlException ausgelöst.

Mit dieser Eigenschaft können Sie Denial-of-Service-Angriffe minimieren, bei denen der Angreifer extrem große XML-Dokumente übermittelt. Wenn Sie die Größe eines Dokuments einschränken, können Sie den Angriff erkennen und zuverlässig wiederherstellen.

Gilt für: