博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ASP.NET 4.0请求验证报错 从客户端...中检测到有潜在危险的 Request.Form 值
阅读量:6972 次
发布时间:2019-06-27

本文共 1057 字,大约阅读时间需要 3 分钟。

如下报错:

修改方法如下:

在web.config方法中的httpRuntime标记中添加

requestValidationMode="2.0"
    
    
 

深入:

validateRequest=“false”是关闭验证

但在 4.0 中还多了一个 requestValidationMode,这是什么意思呢?

requestValidationMode 有两个值:

  • 2.0 仅对网页启用请求验证。是启用还是关闭取决于 validateRequest。

  • 4.0 默认值。任何 HTTP 请求都会启用请求验证,也就是说不光是网页,还包括 Cookie 等。此时强制启用,不管 validateRequest 为何值。

由于 requestValidationMode="4.0" 是强制启用,所以我们会发现在 .NET Framework 4.0 中仅靠设置 validateRequest 是关闭不了请求验证的,还得将 requestValidationMode 设置为 2.0。

ASP.NET中的请求验证特性提供了某一等级的保护措施防止XSS攻击,之前版本的ASP.NET的请求验证是默认启动的,但是他仅仅应用于ASP.NET页面中(.aspx文件和.aspx.cs文件)。

而在ASP.NET4中,请求验证默认对所有类型的请求启动,因为它在BeginRequest被调用之前启动,结果就是对所有资源的请求都要经过 请求验证,而不仅仅在.aspx文件和他们的类文件中,甚至包括web service和自定义的httphandler。同样,在自定义httpmodules读取http请求的时候,同样要经过请求验证。

更多:

如果开启验证,仍然可以在服务器端捕获HttpRequestValidationException异常并加以处理(未验证)

protected void Page_Error(object sender, EventArgs e)

    {
        Exception ex = Server.GetLastError();
        if (ex is HttpRequestValidationException)
        {
            //处理异常
            Server.ClearError();
        }
    }

本文转自程序猿博客51CTO博客,原文链接http://blog.51cto.com/haihuiwei/1585173如需转载请自行联系原作者

365850153

你可能感兴趣的文章
java基础( 九)-----深入分析Java的序列化与反序列化
查看>>
Struts2、SpringMVC、Servlet(Jsp)性能对比 测试
查看>>
Lua C API 遍历 table
查看>>
数组A - 财务管理
查看>>
group by
查看>>
简单投票系统学到的一些东西
查看>>
android打电话,接电话,挂电话过程
查看>>
【LeanEAP.NET】精益企业应用平台实战----表格批量编辑与Undo/Redo功能实现
查看>>
从Excel中读取数据(python-xlrd)
查看>>
iframe显示高度自适应 兼容多浏览器
查看>>
Struts2 技术全总结 (正在更新)
查看>>
站在产品经理的角度看问题
查看>>
网络编程之urllib
查看>>
【转】WebView的JavaScript与本地代码三种交互方式
查看>>
xml转换为对象 微信接口
查看>>
HTML表单
查看>>
jzoj5984. 【北大2019冬令营模拟2019.1.1】仙人掌 (分块)
查看>>
电梯调度算法的实现
查看>>
前端之html5和css3
查看>>
跟KingDZ学HTML5之四 继续探究Canvas之路径
查看>>