2008-09-16 7 views
1

Während einer Diskussion über Sicherheit fragte ein Entwickler in meinem Team, ob es eine Möglichkeit gäbe zu sagen, ob ViewState manipuliert wurde. Es ist mir peinlich zu sagen, dass ich die Antwort nicht kannte. Ich sagte ihm, ich würde es herausfinden, dachte aber, ich würde hier jemandem die Chance geben, zuerst zu antworten. Ich weiß, dass es eine automatische Validierung gibt, aber gibt es eine Möglichkeit, dies manuell zu tun, wenn die Ereignisvalidierung nicht aktiviert ist?Wie können Sie feststellen, ob der Viewstatus in einer ASP.Net-Anwendung manipuliert wurde?

Antwort

6

EnableViewStateMac Seite Richtlinie

+1

Um genauer zu sein, können Sie EnableViewStateMac Seite für Seite oder in der Datei web.config aktivieren. –

+0

Gut zu wissen, Scott! – Kilhoffer

0

Sie könnten in der Lage sein, es manuell zu tun, aber Sie würden nur den gleichen Algorithmus implementieren, die bereits für Sie da ist. Es ist im Allgemeinen eine schlechte Idee, die ViewState-Überprüfung auf einer Seite zu deaktivieren.

2

ViewState ist standardmäßig MIME-codiert und mit einem MAC-Schlüssel (entweder von der Maschine oder von der Datei web.config) gehashed, was dazu beiträgt, Manipulationen zu verhindern (d. H. Die Dekodierung explodiert). Sie können ViewState auch verschlüsseln und komprimieren, wenn Sie weiteren Schutz und weniger Overhead benötigen. Siehe MS ViewState und CodeProject.com

Verwandte Themen