ASP.NET 4.5 incorpora direttamente l'AntiXSS Library, una library creata da Microsoft e che consente di eseguire l'encoding di testo che arriva dall'utente, per gli usi più opportuni.
A differenza dell'implementazione predefinita, questa library è in grado di gestire le differenze di encoding presenti quando si vuole utilizzare un valore che proviene dall'utente in HTML, attributi HTML, CSS, JavaScript e così via.
Di default, per compatibilità con le versioni precedenti, il nuovo encoder non viene utilizzato direttamente nei progetti migrati alla nuova versione, ma è necessario modificare il web.config:
<httpRuntime encoderType="System.Web.Security.AntiXss.AntiXssEncoder, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
Questo attributo sfrutta la possibilità di cambiare il tipo di encoder utilizzato dai normali metodi a cui siamo abituati, come HttpUtility.HtmlEncode, senza dover cambiare il codice, sfruttando l'ormai noto provider model.
Quando viene attivata questa feature (disponibile in automatico con i nuovi progetti), ASP.NET 4.5 è in grado di incorporare in automatico le funzionalità di AntiXSS Library di seguito riportate:
- HtmlEncode, HtmlFormUrlEncode, and HtmlAttributeEncode
- XmlAttributeEncode and XmlEncode
- UrlEncode and UrlPathEncode
- CssEncode
Questa modifica consente di dare maggior sicurezza alle applicazioni, senza dover far altro che cambiare il tipo di encoder utilizzato.
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
Eseguire attività con Azure Container Jobs
Mascherare l'output di un valore all'interno dei log di un workflow di GitHub
Recuperare un elemento inserito nella cache del browser tramite API JavaScript
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Gestire liste di tipi semplici con Entity Framework Core
Miglioramenti nell'accessibilità con Angular CDK
Evitare il flickering dei componenti nel prerender di Blazor 8
Modificare i metadati nell'head dell'HTML di una Blazor Web App
Usare le variabili per personalizzare gli stili CSS
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Disabilitare automaticamente un workflow di GitHub