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
Перечисление, представляющее источник проверяемых данных запроса. Ниже приведены возможные значения для перечисления:
QueryStringFormCookiesFilesRawUrlPathPathInfo-
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.