Printable version of post AutoEncode in ASP.NET 4.0

AutoEncode in ASP.NET 4.0

Print Content | More

Sinceramente mi ero chiesto perchè non esistesse in ASP.NET un qualcosa per effettuare l’encode di una stringa nel markup senza ricorrere ogni volta all’apposito metodo della classe HttpUtility; ovviamente questo non è un grandissimo problema, ma allunga i tempi di scrittura del codice e, IMHO, aggiunge verbosità allo stesso.

Per comodità mi sono realizzato un extension method per le stringhe che si occupa di effettuare l’encode/decode sia per l’html che per l’url, facilitando un po’ la scrittura del codice, come mostrato di seguito:

<!-- metodo classico -->
<%= Server.HtmlEncode(myVar) %>

<!-- con extension method -->
<%= myVar.EncodeHtml() %>

In ASP.NET 4.0 esisterà qualcosa di ancor più comodo ed immediato - lo annuncia Phil Haac qui - ossia una nuova “sintassi” per i blocchi di codice nelle pagine aspx (ovviemente vale anche per i controlli, view, ecc)  che effettuerà per noi l’encode in HTML: infatti oltre al binding ed al response ci sarà Html Encoding, come mostrato di seguito:

<%: myVar %>

Sarebbe bello poter specificare un provider per cambiare il sistema di encoding, e magari anche sostituire l’HtmlEncode della classe HttpUtility con quello della Anti-XSS.


ASP.NET 4.0

2 comments

Related Post