Freigeben über


XmlLoadSettings.MaxElementDepth Eigenschaft

Definition

Ruft die Grenzwerte der Elementtiefe eines XML-Dokuments ab, das in ein DOM-Objekt geladen werden soll, und legt diese fest.

public:
 property unsigned int MaxElementDepth { unsigned int get(); void set(unsigned int value); };
uint32_t MaxElementDepth();

void MaxElementDepth(uint32_t value);
public uint MaxElementDepth { get; set; }
var uInt32 = xmlLoadSettings.maxElementDepth;
xmlLoadSettings.maxElementDepth = uInt32;
Public Property MaxElementDepth As UInteger

Eigenschaftswert

UInt32

unsigned int

uint32_t

Der Tiefenwert. Der Standardwert ist 256.

Hinweise

Ein Nullwert (0) bedeutet, dass die Elementtiefe eines XML-Dokuments nicht begrenzt ist. Ein Wert ungleich 0 (null) gibt die maximale Tiefe an.

Eine Entität zählt als eine Ebene der Schachtelung. Wenn Sie beispielsweise über eine Entität verfügen, die auf ein XML-Dokument verweist, das zwei geschachtelte XML-Elemente enthält, legen Sie den Wert auf 3 fest.

Wenn das DOM-Objekt geklont wird, wird der Wert dieser Eigenschaft an das geklonte Objekt weitergegeben. Wenn die Größe eines XML-Dokuments den von dieser Eigenschaft festgelegten Grenzwert überschreitet, tritt beim Analysieren des Dokuments ein Ladefehler auf.

Diese Eigenschaft hilft, Denial-of-Service-Angriffe zu vermeiden, bei denen ein Dokument übermittelt wird, das über eine übermäßige Elementtiefe verfügt. Wenn Sie die Elementtiefe nicht einschränken, können Sie den Exploit nicht einschränken, bei dem ein relativ kleines XML-Dokument zu Denial-of-Service führen kann. Die MaxElementDepth-Eigenschaft entschärft diese Bedrohung. Wenn Sie sich Gedanken über Denial-of-Service machen, sollten Sie diese Eigenschaft auf einen Wert festlegen, mit dem Sie Ihre Dokumente laden können, aber die Tiefe auf ein angemessenes Maß beschränkt.

Gilt für: