Condividi tramite


XmlLoadSettings.MaxElementDepth Proprietà

Definizione

Ottiene e imposta i limiti della profondità degli elementi di un documento XML da caricare in un oggetto DOM.

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

Valore della proprietà

UInt32

unsigned int

uint32_t

Valore di profondità. Il valore predefinito è 256.

Commenti

Un valore zero (0) indica che non sono previsti limiti alla profondità dell'elemento di un documento XML. Un valore diverso da zero specifica la profondità massima.

Un'entità viene conteggiato come un livello di annidamento. Ad esempio, se si dispone di un'entità che fa riferimento a un documento XML che include due elementi XML annidati, impostare il valore su 3.

Quando l'oggetto DOM viene clonato, il valore di questa proprietà viene propagato all'oggetto clonato. Quando le dimensioni di un documento XML superano il limite impostato da questa proprietà, quando il documento viene analizzato verrà generato un errore di caricamento.

Questa proprietà consente di evitare attacchi Denial of Service in cui viene inviato un documento con una profondità eccessiva degli elementi. Se non si limita la profondità dell'elemento, si apre l'exploit in cui un documento XML relativamente piccolo può causare denial of service. La proprietà MaxElementDepth riduce questa minaccia. Se si è interessati alla negazione del servizio, è consigliabile impostare questa proprietà su un valore che consente di caricare i documenti, ma limita la profondità a un livello ragionevole.

Si applica a