XmlLoadSettings.MaxElementDepth Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает и задает ограничения глубины элемента XML-документа, загружаемого в объект 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
Значение свойства
Значение глубины. Значение по умолчанию — 256.
Комментарии
Нулевое значение (0) означает отсутствие ограничений на глубину элемента XML-документа. Ненулевое значение указывает максимальную глубину.
Сущность считается одним уровнем вложенности. Например, если у вас есть сущность, которая ссылается на XML-документ, включающий два вложенных XML-элемента, задайте значение 3.
При клонировании объекта DOM значение этого свойства распространяется на клонированные объекты. Если размер XML-документа превышает ограничение, установленное этим свойством, при анализе документа возникает ошибка загрузки.
Это свойство помогает избежать атак типа "отказ в обслуживании", при которых отправляется документ с чрезмерной глубиной элементов. Если не ограничить глубину элемента, вы можете воспользоваться эксплойтом, в котором относительно небольшой XML-документ может привести к отказу в обслуживании. Свойство MaxElementDepth устраняет эту угрозу. Если вас беспокоит отказ в обслуживании, следует задать для этого свойства значение, которое позволяет загружать документы, но ограничивает глубину до разумного уровня.