Поделиться через


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 исключение.

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