XmlLoadSettings.MaxElementDepth Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
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.