ASP.NET 4.0请求验证报错

修改方法如下:

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

requestValidationMode="2.0"
<system.web>
    <httpRuntime  />
    <pages validateRequest="false"></pages></system.web>

 </system.web>

深入:

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();
        }
    }

时间: 2024-07-29 18:28:54

ASP.NET 4.0请求验证报错的相关文章

升级为iOS9后,默认请求类型为https,如何使用http进行请求会报错(引用他人的)

升级为iOS9后,默认请求类型为https,如何使用http进行请求会报错 The resource could not be loaded because the App Transport Security policy requires the use of a secure connection. 原因  iOS9引入了新特性App Transport Security (ATS) 新特性要求App内访问的网络必须使用HTTPS协议.但是现在公司的项目使用的是HTTP协议,使用私有加密方

在VMware里克隆出来的redhat linux 6.0,重启网卡报错

在VMware里克隆出来的redhat linux 6.0,重启网卡报错,无法ping通eth0的IP地址. 故障现象: service network restartShutting down loopback insterface:                                                                                                     [  OK  ]Bringing up loopback in

关于cocos2dx 3.0升级崩溃报错(unable to load native library) 和(Fatal signal 11 (SIGSEGV) at 0x00000000)

最近一直在Windows平台开发cocos-2dx游戏,期间做了一次引擎升级,升级到了3.0正式版本.Windows平台上表现很正常,没有出现什么问题. 上周五准备发布一个安卓包,编译很轻松的就过了,没有花费多少时间,但是安装到手机后,发现运行就崩溃了.没办法只好用模拟机调试,再次吐槽Android的模拟器,真的太他妈慢了,不到万不得已我真的不想再去用它,google真的应该好好整一下了. 好不容易运行起来了,看到崩溃的时候logcat的报错是"unable to load native lib

native 链接 mysql 8.0以上版本 报错2059

MySQL版本是8.0.4  由于新版本的MySQL新特性导致的. mysql> select Host,User,plugin from mysql.user; +-----------+------------------+-----------------------+ | Host | User | plugin | +-----------+------------------+-----------------------+ | localhost | mysql.infoschem

.Net4.0 ashx页面报错:检测到有潜在危险的Request.Form值(转)

原地址:http://zzhi191.blog.163.com/blog/static/1350849520111116518067/ web开发中难免要多到ajax技术. asp.net中我们处理ajax后台页面有人喜欢用aspx页面,也有人喜欢用ashx页面,相比后者处理速度更快. 但是当你的环境是 .NET 4.0,而 ajax 中提交的参数正好有特殊字符时,比如 name=<head> 这时就会报错:检测到有潜在危险的 Request.Form 值 这时我们需要修改web.config

vue3.0使用axios报错问题记录

vue-cli3.0使用axios的时候出现错误,记录一下 报错信息: Uncaught TypeError: Cannot set property $axios of #<Vue> which has only a getter at eval (main.js?56d7:12) at Module../src/main.js (app.js:11102) at __webpack_require__ (app.js:724) at fn (app.js:101) at Object.0

MVC异步请求脚本报错会影响系统不能正常运行

今天练手一个项目,发现了一个很有意思的事情. 先把代码帖在这,只要用MVC架构做开发,应该很少用ajax异步请求的方式来处理数据请求了.要是用得到的话,出问题了可以往下看看 用这种方式去做数据请求,必然会要引用2个js脚本 对,就是这两个.如果你引用现在最新的jQuery脚本,运行的时候,就会报错.然后写的回调函数就不会运行了.那就把错误贴出来看看吧. 这应该是最新脚本的js与jquery.unobtrusive-ajax.min.js发生冲突了.最好的解决方式是去下载1.7.1的jQuery脚

Android6.0 中appcompat_v7 报错

更新了AndroidSDK以后 各种错误,新建一个项目会附赠一个appcompat_v7,你只要知道这个是一个兼容包就可以了,具体的特性可以看相关介绍,其实也没啥特别的就是为了兼容低版本的呗, 但是呢,这个就导致 了 各种的错误,下面是出现的错误: 经过好几个小时的捯饬,各种文章说需要重启Eclipse ,其实根本无所谓,重要的还是配置,下面是解决办法: 第一步:选择appcompat_v7-->Properties-->Android-->选择最高的API版本,并且确定Library

Exception occurred while processing this request, check the log for more information!安装ActiveMq-5.14.1 配置安全验证报错解决

安装ActiveMq-5.14.1  并配置了安全验证成功后,客户端也连接成功了.服务端也能通过http://IP:8161登录到控制台. 但是在点击队列,想要查看队列视图时报错,如下图: 查看日志发现有如下报错: 那么我就开始找配置这个用户的地方,发下时conf目录下的credentials.properties文件中. 内容如下: 这里有这个账户的配置,那么是哪里引用这个配置文件呢? 在主配置文件 activemq.xml 查看,发现如下: 大概了解了下,这段配置的作用,是在控制台中查看,删