XmlReaderSettings.MaxCharactersInDocument Eigenschaft

Definition

Dient zum Abrufen oder Festlegen eines Werts, der die maximal zulässige Anzahl von Zeichen in einem XML-Dokument angibt. Ein Nullwert (0) bedeutet keine Grenzwerte für die Größe des XML-Dokuments. 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 maximal zulässige Anzahl von Zeichen in einem XML-Dokument. Der Standardwert lautet 0.

Beispiele

Der folgende Code legt diese Eigenschaft fest und versucht dann, ein Dokument zu analysieren, das größer als der Grenzwert ist. In einem realen Szenario würden Sie diesen Grenzwert auf einen Wert festlegen, der groß genug ist, um gültige Dokumente zu verarbeiten, aber klein genug, um die Bedrohung von böswilligen Dokumenten 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

Mit diesem Code wird die folgende Ausgabe generiert:

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

Hinweise

Ein Nullwert (0) bedeutet keine Begrenzungen für die Anzahl der Zeichen im analysierten Dokument. Ein Wert ungleich Null gibt die maximale Anzahl von Zeichen an, die analysiert werden können.

Die maximale Zeichenanzahl für das Dokument enthält die Anzahl der Zeichen, die aus erweiterten Entitäten resultieren.

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

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

Gilt für: