Potentiellement dangereuse Demande.Valeur du chemin a été détectée par le client (?) avec une URL valide
J'ai un ASP.NET MVC 4 Web de l'Application en cours d'exécution sur IIS 7.5 pour quelques semaines maintenant et j'ai remarqué que tout récemment, j'ai reçu beaucoup de messages d'erreur suivants:
System.Web.HttpException (0x80004005): A potentially dangerous Request.Path value was detected from the client (?).
at System.Web.HttpRequest.ValidateInputIfRequiredByConfig()
at System.Web.HttpApplication.PipelineStepManager.ValidateHelper(HttpContext context)
Je sais que cette exception est générée lorsque le chemin de l'URL contient des caractères illégaux, mais la chose étrange est que dans mon cas, l'URL est valide. Voici un exemple de l'URL: www.mysite.com/myApp/bookTitle?chapter=12&page=278
.
Cependant, quand j'ai essayer tout les liens qu'ils fonctionnent très bien et sans aucune exception.
En regardant le Journal des Erreurs, j'ai remarqué que la chaîne de requête n'apparaît pas comme une partie de la QUERY_STRING variable, mais il est inclus avec le reste du chemin dans la PATH_INFO variable qui ressemble à ceci:
/myApp/bookTitle?chapter=12&page=278
.
Il semble donc que le (?) n'est pas reconnu en tant que séparateur entre le chemin et la requête (peut-être à cause d'une sorte de codage d'URL), mais je ne suis pas sûr de la façon de résoudre ce problème.
Toute aide serait grandement appréciée.
double possible de potentiellement dangereuse Demande.Valeur du chemin a été détectée par le client (*)
ce n'est pas le cas puisque je ne suis pas d'inclure des caractères spéciaux dans le chemin de l'URL..
Ce que l'agent utilisateur déclenche ces erreurs? Nous recevons quelques compléments d'araignées et les robots, tels que baidu.
OriginalL'auteur NightOwl89 | 2014-01-14
Vous devez vous connecter pour publier un commentaire.
Quand ASP.NET reçoit une demande avec le caractère '?' codé '%3F " elle donne ce message d'erreur. En même temps, il décode le '%3F " pour un caractère '?' dans la Requête["PATH_INFO"] ou de la Demande.PathInfo variable.
Si vous regardez à la Demande["HTTP_URL"] ou de la Demande.Url.OrigionalString vous pourriez voir quelque chose de différent.
OriginalL'auteur Martin Brown
Assurez-vous que seul les codes :
J'ai aussi eu le même problèmes avec cette erreur.
Ci-dessous mon code est correct pièce:
titleNew = string.Format("{1}", idx, de ressources.Titre);
OriginalL'auteur Mya Thuzar Lwyn