Требования: Извлечь исходный код в ASP.NET MVC для проверки потенциально опасных данных в форме запроса. Проще говоря, он проверяет, что запрошенные данные содержат содержимое межсайтового скриптинга (XSS),XSS по умолчанию блокируется в MVC。
Кросс-сайтовое скриптирование (XSS) — это уязвимость безопасности, которая встречается в некоторых веб-приложениях. XSS-атаки позволяют злоумышленникам вводить клиентские скрипты на веб-страницы, которые просматривают другие пользователи. Злоумышленники могут использовать уязвимости кросс-сайтового скриптинга, чтобы обойти контроли доступа, такие как политики одного происхождения. ValidateInput: Отправляет проверку коллекций, доступных через свойства Cookies, Form и QueryString. следуетhttpRequestКласс использует флаг проверки ввода, чтобы отслеживать, выполняется ли валидация по набору запросов, обращающихся к QueryString через форму свойств Cookie.
public void ValidateInput() { Нет смысла звонить по этому вопросу несколько раз за один запрос. Кроме того, если подтверждение было подавлено, сейчас не будет операции. если (ValidateInputWasCalled || RequestValidationSuppressed) { возвращать; }
_Флаги. Set(hasValidateInputBeenCalled);
Это делается для предотвращения некоторых атак XSS (кросс-сайт скриптинга) (ASURT 122278) _Флаги. Set(needToValidateQueryString); _Флаги. Set(needToValidateForm); _Флаги. Set(needToValidateCookies); _Флаги. Set(needToValidatePostedFiles); _Флаги. set(needToValidateRawURL); _Флаги. Set(needToValidatePath); _Флаги. Set(needToValidatePathInfo); _Флаги. Set(needToValidateHeaders); } Документация:Вход по гиперссылке виден.
Проверьте потенциально опасные данные:HttpRequest -> ValidateString -> CrossSiteScriptingValidation.IsDangerousString, как показано на рисунке ниже:
Адрес исходного кода:
Вход по гиперссылке виден.
Вход по гиперссылке виден.
Скопируйте исходный код в свой проект и протестируйте его следующим образом:
Источник:
Если вы действительно хотите получать опасный контент, можете использовать Request.Unvalidated.Form
(Конец)
|