从客户端检测到潜在危险的Request.Form值每当用户在我的Web应用程序中发布包含<或>在页面中的内容时,我都会抛出此异常。我不想进入关于抛出异常或崩溃整个Web应用程序的聪明性的讨论,因为有人在文本框中输入了一个字符,但我正在寻找一种优雅的方法来处理这个问题。捕获异常并显示发生错误请返回并重新输入整个表单,但这次请不要使用<对我来说似乎不够专业。禁用post validation(validateRequest="false")肯定会避免此错误,但它会使页面容易受到许多攻击。理想情况:当发回包含HTML限制字符的回发时,Form集合中的已发布值将自动进行HTML编码。所以.Text我的文本框的属性将是something & lt; html & gt;有没有办法可以从处理程序中执行此操作?
4 回答
ibeautiful
TA贡献1993条经验 获得超5个赞
如果您使用的是.NET 4.0,请确保将其添加到标记内的web.config文件中<system.web>
:
<httpRuntime requestValidationMode="2.0" />
在.NET 2.0中,请求验证仅应用于aspx
请求。在.NET 4.0中,这扩展到包括所有请求。您可以通过指定以下内容恢复为仅在处理时执行XSS验证.aspx
:
requestValidationMode="2.0"
您可以通过指定完全禁用请求验证:
validateRequest="false"
- 4 回答
- 0 关注
- 695 浏览
添加回答
举报
0/150
提交
取消