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
Evitare (o ridurre) il repo-jacking sulle GitHub Actions
Short-circuiting della Pipeline in ASP.NET Core
Load test di ASP.NET Core con k6
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Migrare una service connection a workload identity federation in Azure DevOps
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Implementare il throttling in ASP.NET Core
I più letti di oggi
- Sfruttare le funzionalità degli Azure Cognitive Service on-edge con i container
- Configurare il nome della run di un workflow di GitHub in base al contesto di esecuzione
- I tutorials, percorsi guidati per tutti
- Introduzione ai Cognitive Services di Microsoft Azure
- Gestire gli eventi dei servizi Azure mediante Event Grid