2009-05-15 2 views
1

Im получение ошибки проверки, когда пользователь вводит иностранное имя. Пример:Проверка ASP.NET

System.Web.HttpRequestValidationException: потенциально опасное значение Request.Form было обнаружено у клиента (ctl00 $ pageContent $ txtName = "Pedro ú logo").

где ú переводится как & # 250; (без пробелов, конечно)

Эти иностранные символы допустимы и не должны вызывать ошибку проверки. Я хочу проверки ASP.NET для проверки с использованием UTF-16, а не UTF-8

Многие веб-сайты, блоги и форумы говорят просто отключить проверку. (Т.е. ValidateRequest = «ложь»)

Есть путь вокруг этого БЕЗ выключения проверки? Отключение проверки не подходит для этого приложения.

Спасибо, Джефф

ответ

1

Это не представляется возможным, чтобы настроить механизм проверки запроса. Это нечто жесткое. Я не вижу причины, по которой вы не хотите ее отключать. Если вы позаботитесь о санировании и кодировании HTML, все, что вы получаете от пользователя, и вы хотите отобразить на странице (что вы должны делать в любом случае, независимо от проверки запроса ASP.NET), вам это не понадобится.

+0

Великого ответа. Я всегда смущен мифами вокруг проверки запроса - люди всегда говорят, что это открывает потенциальную дыру в безопасности, но я еще не видел никаких примеров того, кто использует ее, что не может быть сделано в любом случае. – womp

0

У меня была эта проблема.

Путь вокруг него состоит в том, чтобы санировать вход с помощью javascript перед тем, как вы попали в сообщение.

См This stackoverflow answer to a similar question для некоторого яваскрипта

Кроме того, это в значительной степени дублирует this stackoverflow question (linked above)

+0

Благодаря вам и – 2009-05-15 18:18:44

 Смежные вопросы

  • Нет связанных вопросов^_^