Проблема с System.Web.HttpRequestValidationException - PullRequest
0 голосов
/ 05 августа 2011

Я застрял в середине проблемы System.Web.HttpRequestValidationException: A potentially dangerous Request.Form value was detected from the client на неделю.Это происходит из-за многострочного текстового поля. Для решения этой проблемы я добавил свойство «Запрос проверки = false» в заголовок страницы и на страницу web.config.Но это не сработало.Пожалуйста, помогите мне.Я хочу сохранить тег <span></span> с помощью многострочного текстового поля в базе данных.Именно в это время происходит эта проблема.В противном случае он работает правильно.

Ответы [ 3 ]

4 голосов
/ 09 сентября 2012

Добавьте следующий атрибут к вашему тегу httpruntime в web.config:

<httpRuntime requestValidationMode="2.0" />

После установки этого значения установите validateRequest = "false" в теге pages:

<pages validateRequest="false"> 
2 голосов
/ 12 ноября 2012

Я думаю, вам лучше закодировать ваш html перед отправкой в ​​базу данных

Используйте Server.Encode(YourTextBoxId);

, например, если ваша команда имеет вид:

cmd.Parameters.AddWithValue("@htmlcodefromtextbox", TextBox1.Text);

tryвместо этого

cmd.Parameters.AddWithValue("@htmlcodefromtextbox",  Server.Encode(YourTextBoxId));

, и если ваша команда имеет вид:

cmd.Parameters.Add("@htmlcodefromtextbox", SqlDbType.Text).Value = TextBox1.Text;

, используйте вместо этого

cmd.Parameters.Add("@htmlcodefromtextbox", SqlDbType.Text ).Value =Server.HtmlEncode( TextBox1.Text);

Я уверен, что это будет хорошо.

1 голос
/ 05 августа 2011

Вам необходимо добавить EnableEventValidation = "false" либо в директиве page для пострадавшей страницы, либо в файле web.config.

Однако это не рекомендуется, и включение его означает, что вы должны предпринять строгие меры для максимально возможной очистки входных данных.

Привет

Si

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...