J'ai une application ASP.NET MVC avec une route qui permet de rechercher des éléments via / search / <searchterm>.
Quand je fournis "search / abc" cela fonctionne bien, mais quand je fournis "/ search / a + b + c" (correctement url encodé) alors IIS7 rejette la demande avec l'erreur HTTP 404.11 ( Le module de filtrage des demandes est configuré pour refuser un requête contenant une double séquence d'échappement ). Premièrement, pourquoi fait-il cela? Il ne semble lancer l'erreur que si elle fait partie de l'URL, mais pas dans le cadre d'une chaîne de requête (/ transmettre? Q = a + b + c fonctionne bien).
Maintenant, je pourrais activer les demandes de double échappement dans la section de sécurité de mon web.config mais j'hésite à le faire car je ne comprends pas les implications, ni pourquoi le serveur rejetterait la demande "a + b + c" comme partie de l'URL mais accepter comme partie d'une chaîne de requête.
Quelqu'un peut-il expliquer et donner des conseils sur ce qu'il faut faire?
/search/a%2520b%2520c
le balisage qui a conduit à une belle erreur "Une valeur Request.Path potentiellement dangereuse a été détectée par le client (%)". Vous ne pouvez pas gagner semble-t-il.