XmlReaderSettings.MaxCharactersInDocument Propriedade
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Recebe ou define um valor que indica o número máximo permitido de caracteres num documento XML. Um valor zero (0) significa que não há limites no tamanho do documento XML. Um valor não nulo especifica o tamanho máximo, em caracteres.
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
Valor de Propriedade
O número máximo permitido de caracteres num documento XML. A predefinição é 0.
Exemplos
O código seguinte define esta propriedade e depois tenta analisar um documento maior do que o limite. Num cenário real, definiria este limite a um valor suficientemente grande para lidar com documentos válidos, mas pequeno o suficiente para limitar a ameaça de documentos maliciosos.
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
Este código gera o seguinte resultado:
There is an error in XML document (MaxCharactersInDocument, ).
Observações
Um valor zero (0) significa que não há limites para o número de caracteres no documento analisado. Um valor não nulo especifica o número máximo de caracteres que podem ser analisados.
A contagem máxima de caracteres para o documento inclui a contagem de caracteres resultantes de entidades expandidas.
Se o leitor tentar ler um documento com um tamanho superior a essa propriedade, será lançado um XmlException lançamento.
Esta propriedade permite mitigar ataques de negação de serviço em que o atacante submete documentos XML extremamente grandes. Ao limitar o tamanho de um documento, pode detetar o ataque e recuperar de forma fiável.