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
- Accedere con ASP.NET ad un documento XML creato dall'oggetto recordset di ADO e ASP
- Richiamare programmaticamente le operazioni di aggiornamento, eliminazione e inserimento di FormView, DetailsView e GridView
- Ricavare lo spazio occupato su disco dal nostro sito
- Realizzare siti sicuri con ASP.NET Web Pages
- Aumentare la scalabilità di ASP.NET Core Web API con caching client side