Bonjour à tous,

Je suis dans un cas très classique de site web où l'utilisateur peut saisir des informations et donc où je dois faire attention aux injections de code.

J'ai d'abord cherché à comprendre comment fonctionne le système et au final je me suis posé la question suivante :
Etant donné que tous les champs peuvent potentiellement contenir des caractères spéciaux (il est possible de voir un signe "inférieur à" dans un titre, une descriptions, bref, un peu partout dans le site), il aurait fallu que je mette un AllowHtml ou autre annotation permettant de désactiver la validation des caractères spéciaux.
Faire ça sur chaque property de chaque model, c'est contraignant, d'autant plus que je dois tout de même valider le contenu de ces données avant de les manipuler (par exemple, utiliser <%: au lieu de <%= en ASPX ce qui permet d'échapper les caractères spéciaux à l'affichage)

Du coup, vu que j'ai utilisé <%: partout, je me dis qu'à l'affichage, tout est clean.
Au niveau DB, j'utilise Entity framework qui de lui même échappe les caractères spéciaux.

Donc je pense désactiver complètement la fonction de protection native du framework ASP.MVC 4 mais je me pose quand même la question de savoir s'il n'y aurait pas d'autres sources de dangers en faisant cette manip ?

Qu'en pensez vous, avez vous à l'esprit d'autres failles qui pourraient apparaitre en désactivant cette protection ?

Merci d'avance