2009-04-01 8 views
0

reçois cette erreur dans ma page asp.net:erreur ASP.Net

Une valeur Request.Form potentiellement dangereuse a été détectée à partir du client (ctl00 $ DefaultContent $ UCSimpleSearch $ txtFind = "$%^# &%^& @ #% @ ").

Je reçois cette erreur lorsque je tape $%^& #%^& @ #% @ dans une zone de texte de cette page et cliquez sur envoyer.

Comment puis-je surmonter cette erreur? Est-il recommandé de définir validateRequest = false dans la directive Page pour se débarrasser de cela?

Merci.

Répondre

2

La définition de ValidateRequest à false est un moyen de contourner cette erreur. Ce que vous devez décider, c'est si ces caractères sont des caractères d'entrée valides pour votre formulaire. Si tel est le cas, vous devez l'éteindre et vous assurer que vous gérez correctement toutes les entrées de l'utilisateur.

Je n'arrive pas à trouver une liste des caractères dangereux, donc si quelqu'un en connaît un, il serait utile d'avoir un lien vers celui-ci.

De bonnes informations peuvent être trouvées here.

En règle générale, vous devez toujours encoder en HTML les données que vous placez sur votre site. Ne les éteignez donc pas. Toutefois, si vous n'êtes pas sûr de l'être, il est préférable de le laisser et de ne pas autoriser ces données dans votre formulaire.

-1

Cela signifie que vous ne pouvez pas poster des valeurs contenant des balises HTML au serveur, il a été ajouté des versions très anciennes du framework .NET pour des raisons de sécurité

Si vous devez permettre aux utilisateurs affichant des balises html, vous pouvez ajouter validateRequest = "false" à la directive page

1

En validantRequest = false dans la directive page, vous ne devez effectuer que si vous êtes sûr de vouloir le valider vous-même et si vous voulez que tout ce que quelqu'un peut penser à afficher à votre serveur.

Si la chaîne que vous avez saisie est une entrée valide, vous devrez désactiver la validation de la demande.

0

Est-il recommandé de définir validateRequest = false dans la directive Page pour se débarrasser de cela?

Si vous pouvez gérer explicitement la validation de l'entrée de la zone de texte, pourquoi pas?