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
Visualizzare le change sul plan di Terraform tramite le GitHub Actions
Creare una libreria CSS universale: i bottoni
Aggiungere interattività lato server in Blazor 8
Utilizzare il nuovo modello GPT-4o con Azure OpenAI
Gestire la cancellazione di una richiesta in streaming da Blazor
Miglioramenti agli screen reader e al contrasto in Angular
Utilizzare i primary constructor di C# per inizializzare le proprietà
Utilizzare EF.Constant per evitare la parametrizzazione di query SQL
Ordine e importanza per @layer in CSS
Usare lo spread operator con i collection initializer in C#
Applicare un filtro per recuperare alcune issue di GitHub
Creare una libreria CSS universale: Immagini