xpertzgurtej Ответов: 2

Потенциально опасная ошибка запроса


Я пытаюсь сохранить BCA&# введенный в текстовое поле в asp.net и sql server. Но я получил ошибку System. Web.HttpRequestValidationException
Потенциально опасная просьба.Значение формы было обнаружено от клиента (ctl00$ContentPlaceHolder1$txtName= " BCA&#").

Что я уже пробовал:

i found the issue is &#. when &# is written together it is causing issue. How can i store this input without using ValidateRequest="false" at page directive.
... Я пытался
Server.HtmlEncode(txtName.Text.Trim())
но это тоже не работает.

2 Ответов

Рейтинг:
0

F-ES Sitecore

Цитата:
Как я могу сохранить этот ввод без использования ValidateRequest= "false"в директиве page?


Вы не можете, вам придется отключить проверку для этой страницы и убедиться, что ваш код не уязвим для XSS-атак и т. д.


xpertzgurtej

я не хочу устанавливать ValidateRequest= "false", потому что это позволит атаковать XSS. Что же делать в таком случае? как это обеспечить?

F-ES Sitecore

Просто убедитесь, что ваш код не уязвим для XSS-атак, это вполне возможно. Просто убедитесь, что любые данные, поступающие от пользователя, не записываются непосредственно в выходной html-код в некодированном виде.

xpertzgurtej

Так что же мне теперь делать? Должен ли я использовать ValidateRequest="false" в директиве page или что-то еще?

F-ES Sitecore

Да, вы должны использовать ValidateRequest= " false"

xpertzgurtej

:(

ZurdoDev

Если вы делаете .Net 4+, то вам также нужно будет внести изменения в web.config, как указывает решение 2.

Рейтинг:
0

Karthik_Mahalingam

Добавьте эти два под <system.web> в web.config файл

<httpRuntime requestValidationMode="2.0" />
 <pages validateRequest="false" />

если теги уже присутствуют, то попробуйте обновить только его свойства.


ZurdoDev

Это сделает это для всех страниц, что не очень хорошая идея. Вы должны сделать это в теге местоположения.

Karthik_Mahalingam

ответьте, пожалуйста, примером, я об этом не знаю :(

ZurdoDev

https://msdn.microsoft.com/en-us/library/b6x6shw7(v=против 71). aspx

Это способ, чтобы настройка влияла только на определенную страницу или папку.

Karthik_Mahalingam

Спасибо за информацию, я подумаю об этом в будущем.