Il ViewState rappresenta il contenitore dello stato dei controlli della pagina e proteggerlo è importante per evitare che venga fatto il tampering, cioè l'invio di dati ad hoc che portino la pagina a credere che sia stato effettuato un vero PostBack.
Una delle tecniche migliori per proteggersi è quella di impostare la chiave con cui viene criptato il ViewState, utilizzando ad esempio una classe base per la pagina che imposti la proprietà ViewStateUserKey sul nostro utente, quando autenticato:
public class ASPItaliaPage: Page { protected override OnInit(EventArgs e) { if (User.Identity.IsAuthenticated) ViewStateUserKey = User.Identity.Name; } }
E' importante che venga fatto nell'evento Page_Init, così da evitare di impostare la chiave quando il ViewState è già stato caricato.
Per specificare la classe di base per tutte le pagine si può sfruttare il seguente script:
#644 - Una classe Page di base per tutte le pagine
https://www.aspitalia.com/script/644/Classe-Page-Base-Pagine.aspx
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
I più letti di oggi
- Supportare la sessione affinity di Azure App Service con Application Gateway
- Recuperare automaticamente un utente e aggiungerlo ad un gruppo di Azure DevOps
- Utilizzare un DataContext specifico per la modalità design time di Blend e Visual Studio nei controlli Silverlight
- Gli oggetti CallOut di Expression Blend 4.0
- Eseguire managed code con XSLT
- Introduzione ad ASP.NET 5
- Configurare lo startup di applicazioni server e client con .NET Aspire
- Conoscere il rendering Server o WebAssembly a runtime in Blazor
- Più sezioni di configurazione attraverso il nodo <configSections /> del web.config