<system.web> <httpRuntime requestValidationMode="2.0" requestPathInvalidCharacters="" /> <pages validateRequest="false"> ...
3 Réponses :
Probablement parce que cela ressemble beaucoup à une URL malformée. P>
& est utilisé comme séparateur pour les paramètres de la chaîne de requête I.E. Site.com/page?some=20&another=15 P>
C'est exact. Mais imaginez que quelqu'un postera une URL comme celle-ci sur votre site et que l'utilisateur voie une erreur comme celle-ci ... Ce déroutant!
Si vous souhaitez autoriser la demande via, vous devez ajouter edit forte > Vous devriez laisser votre question originale en place, car ma réponse n'a pas de sens. P> mais en réponse à votre deuxième question, que c'est parce que% 3f correspond à "?" Ce qui n'est pas autorisé dans les noms de fichiers sous Windows. Vous pouvez définir le Vous voudrez peut-être regarder à travers tous les les propriétés du HTTPRUNTEMENTE classe à voir s'il y a d'autres personnes qui pourraient s'appliquer. P> Vous pouvez également implémenter une sous-classe de demandevalidator et configurez votre web.config pour utiliser votre sous-classe (qui permettra probablement à toutes les URL à travers?). Personnellement, je ne me dérangerais pas et laissez simplement les classes intégrées le gérer. Il est peu probable qu'un utilisateur normal soit tous les Tapez-vous accidentellement em> de type "% 3f" dans un chemin, et pourquoi la peine d'aller autant de problèmes pour améliorer le cas d'utilisation des utilisateurs malveillants? P> Ceci, d'ailleurs, est en fait une nouvelle fonctionnalité d'ASP.NET 4, c'est pourquoi la pile débordement ne crache pas une erreur: elle fonctionne sur .NET 3.5. P> P> demandePathInvalidCaracters code> et le définir sur une chaîne vide:
RelaxedurLToFileSystemPrapper CODE> propriété sur
true code> pour modifier ce comportement: p>
Qui a résolu le problème. Mais je reçois une autre erreur pour une autre URL. Je vais éditer la question.
1. Réécrivez le chemin. 2. Renvoie une page vierge (ou une page d'erreur personnalisée). 3. Rediriger la page d'accueil. Je veux avoir le pouvoir de décider comment répondre à ce type d'erreur.
Puis-je avoir des tests d'intégration pour cela? Stackoverflow.com/Questtions/2831075/...
Bonjour, j'ai utilisé "RelaxedurLtofileSystemMapping =" vrai "", mais cela ne pouvait pas courir en direct, travailler uniquement dans Mylocal
Voici un bel article de Hanselman expliquant tous les coins et recoins liés à votre problème: P>