18


Je suis en train de résoudre un « Une valeur Request.Form potentiellement dangereuse a été détectée à partir du client » problème, et SO réponses et Scott Hanselman recommandent de mettre enQue fait réellement requestValidationMode = "2.0"?

<httpRuntime requestValidationMode="2.0" /> 

dans web.config (avec l'ajout d'un attribuer aux méthodes problématiques).
Je réalise que cela modifie le mode de validation pour ASP.NET 2.0, mais qu'est-ce que cela signifie?
Et aussi, ce changement a-t-il des effets secondaires dont je devrais être au courant?

Merci.

Répondre

15

Consultez la description à MSDN's HttpRuntimeSection.RequestValidationMode Property.

2,0. La validation de la demande est activée uniquement pour les pages, pas pour toutes les demandes HTTP. En outre, les paramètres de validation de la demande de l'élément pages (le cas échéant) dans le fichier de configuration ou de la directive @ Page dans une page individuelle sont utilisés pour déterminer les demandes de page à valider.

0

Jetez un oeil à ASP.NET Request Validation>

La demande fonctionnalité de validation dans ASP.NET fournit un certain niveau de protection par défaut contre les attaques de scripts intersites (XSS). Dans versions précédentes d'ASP.NET, la validation de la demande a été activée par par défaut. Toutefois, il s'applique uniquement aux pages ASP.NET (fichiers .aspx et leurs fichiers de classe) et uniquement lorsque ces pages étaient en cours d'exécution.

Dans ASP.NET 4, par défaut, la validation des demandes est activée pour toutes les demandes , car elle est activée avant la phase BeginRequest d'une requête HTTP . Par conséquent, la validation de la demande s'applique aux demandes de toutes les ressources ASP.NET, pas seulement les demandes de page .aspx. Cela inclut les demandes telles que les appels de service Web et les gestionnaires HTTP personnalisés. La validation de la demande est également active lorsque les modules HTTP personnalisés lisent le contenu d'une requête HTTP. En conséquence, des erreurs de validation de la requête peuvent maintenant se produire pour les demandes qui ne déclenchaient pas d'erreurs auparavant. Pour revenir au comportement de la fonctionnalité de validation de la demande ASP.NET 2.0, ajoutez le paramètre suivant dans le fichier web.config:

<httpRuntime requestValidationMode="2.0" /> 

Cependant, nous vous recommandons d'analyser les erreurs de validation de la demande pour déterminer si les gestionnaires, modules ou autres codes personnalisés existants accèdent à des entrées HTTP potentiellement dangereuses susceptibles d'être attaquées par XSS par des vecteurs .

Questions connexes