2009-05-15 7 views
1

Je reçois une erreur de validation lorsqu'un utilisateur entre un nom étranger. Un exemple est:Validation ASP.NET

System.Web.HttpRequestValidationException: Une valeur Request.Form potentiellement dangereuse a été détectée à partir du client (ctl00 $ pageContent $ txtName = "Pedro ú logo").

où le ú est en cours de traduction en & # 250; (sans les espaces bien sûr)

Ces caractères étrangers sont acceptables et ne devraient pas causer une erreur de validation. Je veux validation ASP.NET pour valider l'utilisation UTF-16 et non UTF-8

De nombreux sites web, blogs et forums disent simplement désactiver la validation. (C.-à-ValidateRequest = "false")

est-il un moyen de contourner cela sans éteindre la validation? La désactivation de la validation n'est pas acceptable pour cette application.

Merci, Jeff

Répondre

1

Ce n'est pas vraiment possible de modifier la demande mécanisme de validation. C'est un peu codé en dur. Je ne vois pas pourquoi vous ne voulez pas le désactiver. Si vous vous occupez de l'assainissement et du codage HTML de tout ce que vous obtenez de l'utilisateur et que vous voulez afficher sur la page (ce que vous devriez faire de toute façon, indépendamment de la validation des demandes ASP.NET), vous n'en aurez pas besoin.

+0

Grande réponse. Je suis toujours perplexe face aux mythes entourant la validation des demandes - les gens disent toujours que cela ouvre un trou de sécurité potentiel, mais je n'ai pas encore vu d'exemples de personnes qui l'exploitent qui ne pourraient pas être faites de toute façon. – womp