XmlLoadSettings.MaxElementDepth 属性

定义

获取并设置要加载到 DOM 对象的 XML 文档的元素深度的限制。

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

属性值

UInt32

unsigned int

uint32_t

深度值。 默认值为 256。

注解

值为零 (0) 表示对 XML 文档的元素深度没有限制。 非零值指定最大深度。

一个实体计为一级嵌套。 例如,如果有一个实体引用包含两个嵌套 XML 元素的 XML 文档,请将值设置为 3。

当克隆 DOM 对象时,此属性的值将传播到克隆的对象。 当 XML 文档的大小超出此属性所设置的限制时,如果对文档进行分析,则会导致加载错误。

此属性有助于避免拒绝服务攻击,发生拒绝服务攻击时,提交的文档的元素深度过大。 无法限制元素深度会使你面临漏洞的威胁,在这种情况下相对较小的 XML 文档都可能会导致拒绝服务。 MaxElementDepth 属性可缓解此威胁。 如果担心拒绝服务,你应将此属性设为这样一个值:允许你加载文档,同时将深度限制为合理的级别。

适用于