RequestValidator.IsValidRequestString 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
验证包含 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 在内部实现的行为,以检查跨站点脚本验证中的危险字符串。 有关详细信息,请参阅 如何:防止 ASP.NET 中的跨站点脚本。
如果自定义验证逻辑检测到错误,此方法应返回 false
并在 中 validationFailureIndex
提供一个值,以指示导致错误的文本的起点。 中的 validationFailureIndex
值必须为 0 或正整数。
请求验证检查中的逻辑将按如下所示进行:
类 HttpRequest 对传入数据执行 null 字符删除检查。
类 HttpRequest 调用 IsValidRequestString 方法 (基方法) 的默认实现,或调用 方法的派生版本。
如果 IsValidRequestString 方法返回
false
以指示验证失败,ASP.NET 将在必要时构造一个错误字符串 () 并引发 HttpRequestValidationException 异常。