Ich bin ein wenig verwirrt. Ich habe nicht explizit die Web.config <pages ViewStateEncryptionMode="Always" />
und so festgelegt Diese MSDN-Seite gibt an, dass sie standardmäßig auf Auto
festgelegt werden soll. Diese MSDN-Seite gibt an, dass Auto
die Viewstate-Informationen verursachen sollte verschlüsselt werden, wenn ein Steuerelement die Verschlüsselung anfordert, indem die Methode RegisterRequiresViewStateEncryption
aufgerufen wird. Aber keines meiner Steuerelemente nennt diese Methode. Es sieht also so aus, als ob mein Viewstatus eigentlich nicht verschlüsselt sein sollte.
Wenn ich jedoch den Viewstate in eines der verschiedenen online kopiere / einfüge viewstate Decoders , mir wurde gesagt, dass die serialisierten Daten von viewstate ungültig sind. Also, ist mein Viewstatus verschlüsselt oder nicht? Gibt es eine offensichtliche Möglichkeit zu erzählen? Hat sich das ASP.Net-Standardverhalten so geändert, dass der Viewstatus per default codiert wird, sofern Sie ihn nicht deaktivieren?
Wenn "always" oder "auto" eingestellt ist, wird der gesamte Kontrollstatus verschlüsselt. Alle Kontrollmechanismen, die den Aufruf von RegisterRequiresViewStateEncryption
view aufrufen, werden entweder automatisch oder automatisch verschlüsselt. Wenn Ihr benutzerdefiniertes Steuerelement eine Verschlüsselung benötigt, rufen Sie dies auf.
Siehe MSDN
Wenn Sie ein benutzerdefiniertes Steuerelement entwickeln, das potenziell vertrauliche Informationen verarbeitet, rufen Sie die RegisterRequiresViewStateEncryption-Methode auf, um das Steuerelement bei der Seite zu registrieren und sicherzustellen, dass der Ansichtsstatus für das Steuerelement verschlüsselt ist.
Der gesamte Seitenstatus wird sein verschlüsselt wenn die ViewStateEncryptionMode ist auf Auto festgelegt oder Immer.
Erzwingen Sie es, sehen Sie, ob Sie den gleichen Fehler von einem Decoder bekommen.
Zwingen Sie es ab, sehen Sie, ob es jetzt dekodiert.
Ich denke, das wird Ihnen die Antwort geben, nach der Sie suchen.
Die Standardeinstellungen finden Sie in Ihrer machine.config, einer allgemeinen Superkonfiguration für alle Ihre Webanwendungen. Mit Ihrer web.config können Sie es überschreiben. Sie können eine Ihrer Website öffnen und nach innen schauen.
Hier finden Sie die machine.config:
%Vor%Tags und Links asp.net security encryption viewstate