RequestValidator.IsValidRequestString Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Проверяет строку, содержащую данные HTTP-запроса.
protected public:
virtual bool IsValidRequestString(System::Web::HttpContext ^ context, System::String ^ value, System::Web::Util::RequestValidationSource requestValidationSource, System::String ^ collectionKey, [Runtime::InteropServices::Out] int % validationFailureIndex);
protected internal virtual bool IsValidRequestString (System.Web.HttpContext context, string value, System.Web.Util.RequestValidationSource requestValidationSource, string collectionKey, out int validationFailureIndex);
abstract member IsValidRequestString : System.Web.HttpContext * string * System.Web.Util.RequestValidationSource * string * int -> bool
override this.IsValidRequestString : System.Web.HttpContext * string * System.Web.Util.RequestValidationSource * string * int -> bool
Protected Friend Overridable Function IsValidRequestString (context As HttpContext, value As String, requestValidationSource As RequestValidationSource, collectionKey As String, ByRef validationFailureIndex As Integer) As Boolean
Параметры
- context
- HttpContext
Контекст текущего запроса.
- value
- String
Данные HTTP-запроса для проверки.
- requestValidationSource
- RequestValidationSource
Перечисление, представляющее источник данных запроса, подлежащих проверке. Ниже приведены возможные значения для перечисления.
QueryString
Form
Cookies
Files
RawUrl
Path
PathInfo
-
Headers
.
- collectionKey
- String
Ключ в коллекции запроса элемента для проверки. Это необязательный параметр. Этот параметр используется, если данные для проверки получены из коллекции. Если данные для проверки не из коллекции, параметр collectionKey
может иметь значение null
.
- validationFailureIndex
- Int32
После выполнения возврата этим методом указывается отсчитываемая от нуля начальная точка проблемного или недопустимого текста в коллекции запроса. Этот параметр передается неинициализированным.
Возвращаемое значение
Значение true
, если строка для проверки допустимая. В противном случае — false
.
Комментарии
Этот метод реализуется для выполнения пользовательской проверки данных запроса. Базовое IsValidRequestString(HttpContext, String, RequestValidationSource, String, Int32) поведение метода аналогично поведению, которое ASP.NET реализует внутренне для проверки на наличие опасных строк при проверке межсайтовых сценариев. Дополнительные сведения см. в статье How To: Prevent Cross-Site Scripting in ASP.NET.
Если пользовательская логика проверки обнаруживает ошибку, этот метод должен возвращать false
и предоставлять значение в validationFailureIndex
, указывающее начальную точку текста, вызвавшего ошибку. Значение в validationFailureIndex
должно иметь значение 0 или положительное целое число.
Логика проверки запроса выполняется следующим образом:
Класс HttpRequest выполняет проверку удаления символов NULL для входящих данных.
Класс HttpRequest вызывает либо IsValidRequestString метод (реализация базового метода по умолчанию), либо вызывает производную версию метода .
Если IsValidRequestString метод возвращает значение
false
, указывающее на сбой проверки, ASP.NET создает строку ошибки (при необходимости) и создает HttpRequestValidationException исключение.