2009-10-13 2 views
0

Quand je lance mon ASPNet MVC 2 Aperçu 1 site sous VS dev serveur, il fonctionne très bien quand je fais un poste de formulaire avec le formulaire Méthode " Get "- la forme est une zone de texte avec texte qui a équerres (par ex: "i < 10;")ValidateInput (false) ne semble pas fonctionner lors de l'exécution sous IIS

Cependant sous IIS, lorsque le même formulaire est affiché (en utilisant la méthode" Get "), Je reçois une page 404 introuvable.

The resource cannot be found. 

Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable. Please review the following URL and make sure that it is spelled correctly. 

Requested URL: /Rejected-By-UrlScan 

Recherche sur le Web, rien qui a aidé à résoudre le problème.

Oui, j'ai

  1. ValidateRequest = "false" set sur vues-> Web.config, principal Web.Config
  2. ValidateInput (false) attribut défini sur la classe du contrôleur ainsi que tous les les méthodes d'action

Aucune de ces 2 options ne permet de résoudre le problème.

Toute aide appréciée

Répondre

1

Il y a un indice important du problème là dans votre message 404.

Requested URL: /Rejected-By-UrlScan

UrlScan est une solution de sécurité qui est installé dans votre serveur IIS mais pas dans le serveur Visual Studio dev, ce qui explique pourquoi vous ne frapper ce problème sur IIS. Vous mentionnez avoir des parenthèses inclinées dans vos données de publication, il est donc possible que UrlScan bloque la requête à cause de cela, mais je ne suis pas assez familier avec UrlScan pour être sûr.

Il peut ne pas être possible de jouer avec les attributs de vos contrôles ASP.NET, car UrlScan bloquera cette requête avant même que n'atteigne ASP.NET.

Je ne peux pas vraiment offrir beaucoup plus que cela (comme je dis, je ne suis pas vraiment familier avec UrlScan, au-delà d'une vague idée de ce que c'est), mais si j'étais vous je commencerais par googling pour UrlScan et savoir comment le configurer - ou s'il a une sorte de journal qui vous aidera à identifier exactement pourquoi il bloque cette demande particulière.

EDIT:http://learn.iis.net/page.aspx/473/using-urlscan semble être un bon point de départ.

0

ValidateRequest changements dans web.config ont aucun effet dans ASP.NET MVC. Il est activé par défaut et vous devez utiliser un attribut pour l'activer/le désactiver.

Voir cette référence:

http://stephenwalther.com/blog/archive/2009/02/20/tip-48-ndash-disable-request-validation.aspx

+0

Merci de répondre, s'il vous plaît lire que j'ai déjà essayé l'attribut ValidateInput, et il ne fonctionne pas sous IIS – Vin

+0

IIS n'est pas un joueur dans cet attribut. C'est le moteur ASP.NET de base donc cela ne devrait pas avoir d'importance. Le déployez-vous sur IIS 6? Si oui, il y a des considérations que vous devez faire: http: // piraté.com/archive/2008/11/26/asp.net-mvc-on-iis-6-walkthrough.aspx –

+0

Je l'exécute sur IIS 5.1 - Je voulais dire que l'attribut ValidateInput aide lorsque je cours sur le web sous vs dev serveur, mais pas sous IIS – Vin

Questions connexes