XmlReaderSettings.MaxCharactersInDocument Proprietà

Definizione

Ottiene o imposta un valore che indica il numero massimo di caratteri consentito in un documento XML. Un valore zero (0) indica che non è previsto alcun limite alla dimensione del documento XML. Un valore diverso da zero specifica la dimensione massima in caratteri.

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

Valore della proprietà

Int64

Numero massimo di caratteri consentito in un documento XML. Il valore predefinito è 0.

Esempio

Il codice seguente imposta questa proprietà e quindi tenta di analizzare un documento maggiore del limite. In uno scenario reale, si imposta questo limite su un valore sufficiente per gestire documenti validi, ma abbastanza piccolo per limitare la minaccia da documenti dannosi.

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  

Questo codice genera l'output seguente:

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

Commenti

Un valore zero (0) indica che il numero di caratteri nel documento analizzato non comporta alcun limite. Un valore diverso da zero specifica il numero massimo di caratteri che è possibile analizzare.

Il numero massimo di caratteri per il documento include il numero di caratteri risultanti da entità espanse.

Se il lettore tenta di leggere un documento con dimensioni superiori a questa proprietà, verrà generato un valore XmlException .

Questa proprietà consente di attenuare gli attacchi denial of service in cui l'utente malintenzionato invia documenti XML estremamente grandi. Limitando le dimensioni di un documento, è possibile rilevare l'attacco e ripristinare in modo affidabile.

Si applica a