猿问

从客户端检测到潜在危险的Request.Form值

从客户端检测到潜在危险的Request.Form值

每当用户在我的Web应用程序中发布包含<>在页面中的内容时,我都会抛出此异常。

我不想进入关于抛出异常或崩溃整个Web应用程序的聪明性的讨论,因为有人在文本框中输入了一个字符,但我正在寻找一种优雅的方法来处理这个问题。

捕获异常并显示

发生错误请返回并重新输入整个表单,但这次请不要使用<

对我来说似乎不够专业。

禁用post validation(validateRequest="false")肯定会避免此错误,但它会使页面容易受到许多攻击。

理想情况:当发回包含HTML限制字符的回发时,Form集合中的已发布值将自动进行HTML编码。所以.Text我的文本框的属性将是something & lt; html & gt;

有没有办法可以从处理程序中执行此操作?


呼如林
浏览 696回答 4
4回答

ibeautiful

如果您使用的是.NET 4.0,请确保将其添加到标记内的web.config文件中<system.web>:<httpRuntime&nbsp;requestValidationMode="2.0"&nbsp;/>在.NET 2.0中,请求验证仅应用于aspx请求。在.NET 4.0中,这扩展到包括所有请求。您可以通过指定以下内容恢复为仅在处理时执行XSS验证.aspx:requestValidationMode="2.0"您可以通过指定完全禁用请求验证:validateRequest="false"
随时随地看视频慕课网APP
我要回答