XmlReaderSettings.MaxCharactersInDocument Свойство

Определение

Возвращает или задает значение, указывающее максимально допустимое число символов в XML-документе. Нулевое значение (0) означает отсутствие ограничений на размер XML-документа. Значение, отличное от нуля, указывает максимальный размер в символах.

public:
 property long MaxCharactersInDocument { long get(); void set(long value); };
public long MaxCharactersInDocument { get; set; }
member this.MaxCharactersInDocument : int64 with get, set
Public Property MaxCharactersInDocument As Long

Значение свойства

Максимально допустимое количество символов в XML-документе. Значение по умолчанию — 0.

Примеры

Следующий код задает это свойство, а затем пытается проанализировать документ, превышающий предел. В реальном мире этот предел будет иметь достаточно большое значение для обработки допустимых документов, но достаточно мало, чтобы ограничить угрозу от вредоносных документов.

string markup = "<Root>Content</Root>";

XmlReaderSettings settings = new XmlReaderSettings();
settings.MaxCharactersInDocument = 10;

try
{
    XmlReader reader = XmlReader.Create(new StringReader(markup), settings);
    while (reader.Read()) { }
}
catch (XmlException ex)
{
    Console.WriteLine(ex.Message);
}
Dim markup As String = "<Root>Content</Root>"

Dim settings As XmlReaderSettings = New XmlReaderSettings()
settings.MaxCharactersInDocument = 10

Try
    Dim reader As XmlReader = XmlReader.Create(New StringReader(markup), settings)
    While (reader.Read())
    End While
Catch ex As XmlException
    Console.WriteLine(ex.Message)
End Try

Этот код создает следующие выходные данные:

There is an error in XML document (MaxCharactersInDocument, ).

Комментарии

Нулевое значение (0) означает отсутствие ограничений на количество символов в проанализированном документе. Значение, отличное от нуля, указывает максимальное количество символов, которые можно проанализировать.

Максимальное число символов для документа включает количество символов, результатом которых будут развернуты сущности.

Если читатель пытается прочитать документ с размером, превышающим это свойство, XmlException будет возникать исключение.

Это свойство позволяет устранять атаки типа "отказ в обслуживании", когда злоумышленник отправляет очень большие XML-документы. Ограничивающий размер документа, можно обнаружить атаку и восстановить надежно.

Применяется к