Was ist der Ansichtszustand?
Beim Ansichtszustand handelt es sich um Informationen, die zwischen WebForms-Seiten einer ASP.NET-Anwendungen ausgetauscht werden. Das HTML-Markup für das Feld __VIEWSTATE sieht etwa wie folgt aus:
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="..." />Ein Beispiel für ein Element, das im Feld __VIEWSTATE gespeichert werden könnte, ist der Text eines Button-Steuerelements. Wenn der Benutzer auf die Schaltfläche klickt, kann der Button_Click-Ereignishandler den Text der Button-Schaltfläche aus dem Feld __VIEWSTATE extrahieren. Eine ausführlichere Übersicht über den ASP.NET-Ansichtszustand finden Sie im Thema Übersicht über den ASP.NET-Ansichtszustand auf der Microsoft Developer Network (MSDN)-Website.Weil das Feld __VIEWSTATE wichtige Informationen enthält, die beim Postback zum Rekonstruieren der Seite verwendet werden, stellen Sie sicher, dass Angreifer dieses Feld nicht manipulieren können. Wenn es einem Angreifer gelänge, eine bösartige __VIEWSTATE-Nutzlast zu senden, dann könnte der Angreifer die Anwendung potenziell dazu bringen, eine Aktion auszuführen, die ansonsten nicht ausgeführt worden wäre.Um diese Art von Manipulationsangriffen zu vermeiden, wird das Feld __VIEWSTATE durch einen Nachrichtenauthentifizierungscode (MAC) geschützt. ASP.NET überprüft den MAC, der zusammen mit der __VIEWSTATE-Nutzlast übermittelt wird, wenn ein Postback erfolgt. Der Schlüssel wird verwendet, um den MAC entsprechend der Angabe im