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 문서의 요소 깊이에 제한이 없음을 의미합니다. 0이 아닌 값은 최대 깊이를 지정합니다.

엔터티는 한 수준의 중첩으로 계산됩니다. 예를 들어 두 개의 중첩된 XML 요소가 포함된 XML 문서를 참조하는 엔터티가 있는 경우 값을 3으로 설정합니다.

DOM 개체가 복제되면 이 속성의 값이 복제된 개체로 전파됩니다. XML 문서의 크기가 이 속성에서 설정한 제한을 초과하면 문서를 구문 분석할 때 로드 오류가 발생합니다.

이 속성은 과도한 요소 깊이를 가진 문서가 제출되는 서비스 거부 공격을 방지하는 데 도움이 됩니다. 요소 깊이를 제한하지 않으면 비교적 작은 XML 문서로 인해 서비스 거부가 발생할 수 있는 악용이 열립니다. MaxElementDepth 속성은 이 위협을 완화합니다. 서비스 거부가 우려되는 경우 이 속성을 문서를 로드할 수 있는 값으로 설정해야 하지만 깊이는 적절한 수준으로 제한됩니다.

적용 대상