XmlReaderSettings.MaxCharactersInDocument Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar eller anger ett värde som anger det maximala tillåtna antalet tecken i ett XML-dokument. Ett nollvärde (0) innebär inga gränser för XML-dokumentets storlek. Ett värde som inte är noll anger den maximala storleken i tecken.
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
Egenskapsvärde
Det maximala tillåtna antalet tecken i ett XML-dokument. Standardvärdet är 0.
Exempel
Följande kod anger den här egenskapen och försöker sedan parsa ett dokument som är större än gränsen. I ett verkligt scenario skulle du ange den här gränsen till ett värde som är tillräckligt stort för att hantera giltiga dokument, men ändå tillräckligt litet för att begränsa hotet från skadliga dokument.
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
Den här koden genererar följande utdata:
There is an error in XML document (MaxCharactersInDocument, ).
Kommentarer
Ett nollvärde (0) innebär inga gränser för antalet tecken i det tolkade dokumentet. Ett värde som inte är noll anger det maximala antalet tecken som kan parsas.
Det maximala antalet tecken för dokumentet innehåller antalet tecken som är resultatet av expanderade entiteter.
Om läsaren försöker läsa ett dokument med en storlek som överskrider den här egenskapen genereras en XmlException .
Med den här egenskapen kan du minimera överbelastningsattacker där angriparen skickar extremt stora XML-dokument. Genom att begränsa storleken på ett dokument kan du identifiera attacken och återställa på ett tillförlitligt sätt.