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.

Применяется к