2 Stimmen

Wie kann man überprüfen, ob EnableViewStateMac zur Laufzeit gesetzt ist?

In ASP.NET wird der ViewState in der Regel durch eine Signatur, die durch das Maschinengeheimnis auf dem Server erzeugt wird, vor Manipulationen auf dem Client geschützt. Aber dieser Schutz kann leicht mit ausgeschaltet werden:

<%@ Page ... EnableViewStateMac="false" %>

Ich schreibe ein ASP.NET-Steuerelement, das Mai sicherheitsrelevante Informationen speichern (nicht geheim... aber sie dürfen nicht manipuliert werden), je nachdem, ob EnableViewStateMac wahr ist.

Wie kann ich testen, ob sie zur Laufzeit ein- oder ausgeschaltet ist?

3voto

Mel Harbour Punkte 371

Sie sollten einfach auf die

Page.EnableViewStateMac

In Ihrem Code.

http://msdn.microsoft.com/en-us/library/system.web.ui.page.enableviewstatemac.aspx

0 Stimmen

Wow. Das zeigt, dass manche Entwickler nicht glauben, dass etwas in Intellisense existiert, wenn es nicht vorhanden ist. Es ist ein perfekter Platz für diese Eigenschaft, und dennoch hat diese Eigenschaft [EditorBrowsable(EditorBrowsableState.Never)] gesetzt, damit Intellisense sie nicht aufdeckt. Wie auch immer, danke!

1voto

Iggy Punkte 8073

Sie können dies mit this.Page. EnableViewStateMac

Anmerkung zu den oben genannten Punkten lien

Setzen Sie diese Eigenschaft nicht im Code. Setzen Sie das Attribut EnableViewStateMac mit der @ Page-Direktive in der .aspx-Datei. Wenn die Seite angefordert wird, setzt die dynamisch generierte Klasse die Eigenschaft.


Ein View-State-MAC ist eine verschlüsselte Version der versteckten Variablen, in der der View-Status einer Seite gespeichert wird, wenn die Seite an den Browser gesendet wird. Wenn diese Eigenschaft auf "true" gesetzt ist, wird der verschlüsselte Ansichtsstatus überprüft, um sicherzustellen, dass er auf dem Client nicht manipuliert wurde.

1voto

Ian G Punkte 28438

Vielleicht möchten Sie wissen, dass im September 2014

Alle Versionen der ASP.NET-Laufzeit 1.1 - 4.5.2 verbieten nun das Setzen von

<%@ Seite EnableViewStateMac="false" %>

y

<pages enableViewStateMac="false" />

http://blogs.msdn.com/b/webdev/archive/2014/09/09/farewell-enableviewstatemac.aspx

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X