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
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Load test di ASP.NET Core con k6
Short-circuiting della Pipeline in ASP.NET Core
Implementare il throttling in ASP.NET Core
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Migrare una service connection a workload identity federation in Azure DevOps
Evitare (o ridurre) il repo-jacking sulle GitHub Actions
I più letti di oggi
- Utilizzare WebAssembly con .NET, ovunque
- Definire stili a livello di libreria in Angular
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
- Utilizzare il trigger SQL con le Azure Function
- Ottimizzazione dei block template in Angular 17
- Disabilitare automaticamente un workflow di GitHub (parte 2)