.net 4.0 ValidateRequest=false 无效
昨天安装了VisualStudio 2010 Ultimate,今天把最近的一个项目升级到了4.0下,结果跑了一下,发现关于页面启用 ValidateRequest="false" 的部份失效。于是把web站点的版本及项目版本都降回原来的版本后,错误就消失了,于是搜索了一下,找到如下资料:
A potentially dangerous Request.Form value was detected from the client (ctl00$MainContent$txtCode="<code></code>").
Exception Details: System.Web.HttpRequestValidationException: A potentially dangerous Request.Form value was detected from the client (ctl00$MainContent$txtCode="<code></code>").
Version Information: Microsoft .NET Framework Version:4.0.21006; ASP.NET Version:4.0.21006.1
在安装了Visual Studio 2010 Beta2之后,当页面输入框默认情况下输入“<”或者“>”的时候。按照访问策略,这将导致一些安全问题,诸如:跨站脚本攻击(cross-site scripting attack)。而这个问题的更准确描述则是,当你在安装了.NET Framework 4.0以上版本后,当你的应用程序以.NET Framework 4.0为框架版本,你的任意服务器请求,都将被进行服务器请求验证(ValidationRequest),这不仅包括ASP.NET,同时也包括Web Services等各种HTTP请求,不仅仅针对aspx页面,也针对HTTP Handler,HTTP Module等,因为这个验证(Valify)的过程,将会发生在BeginRequest事件之前。
基于以上原理,在ASP.NET之前的版本中,请求验证也是默认开通的,但是发生在页面级(aspx)的,并且只在请求执行的时候生效,因此,在旧的版本中,我们只需要按以下方式配置即可:
在页面级别(aspx中)设置
ValidateRequest="false"
或者
在全局级别(Web.config中)设置
<configuration>
<system.web>
<pages validateRequest="false">
但是,以上设置仅对ASP.NET4.0以上有效。在ASP.NET4.0版本上,我们需要更多一行的配置:
在全局级别(Web.config中)设置
<configuration>
<system.web>
<httpRuntime requestValidationMode="2.0">
这一点其实在发生错误的页面中已经有说明了。在实际使用过程中,不仅如此,而且我发现requestValidationMode只要设置成小于4.0就可以,比如:1.0,2.0,3.0,3.9都是可以的,错误提示中指明用2.0,目的只是说明用ASP.NET 2.0的默认方式进行工作。
转载于:https://www.cnblogs.com/vingi/articles/2478134.html
.net 4.0 ValidateRequest=false 无效相关推荐
- .net 4.0 ValidateRequest=false 无效解决方法
安装了VisualStudio 2010 Ultimate,最近的一个项目升级到了4.0下,结果跑了一下,发现关于页面启用 ValidateRequest="false" 的部份失 ...
- ValidateInput(false)与this.ValidateRequest = false无效的解决方案
ValidateInput(false)与this.ValidateRequest = false无效的解决方案 鼓捣了半天 终于解决了这个问题 写出来 叫后人少费点劲 在最外层的web.config ...
- asp.net学习笔记异常处理001---.framework4.0中asp.net页面ValidateRequest=false 无效的问题
在做牛腩新闻发布系统的时候,部分同学可能会遇到这样的情况: 从客户端(ContentPlaceHolder1_m_ContentPlaceHolder_ftbContent="<P&g ...
- ValidateRequest=false 无效
在做牛腩新闻发布系统的时候,部分同学可能会遇到这样的情况: 从客户端(ContentPlaceHolder1_m_ContentPlaceHolder_ftbContent="<P&g ...
- pages validateRequest=false/在.net4.0中无效的问题
再web.config中设置<pages validateRequest="false"/>在.net4.0中无效的问题 解决方案: <system.web> ...
- ASP.NET 4.0: 请求验证模式变化导致ValidateRequest=false失效
ASP.NET请求验证功能可以给我提供应用程序的安全保证,避免站点受到XSS的攻击.但是在一些情况下,我们需要禁用这个功能,比如我们需要使用HtmlEditor来让用户输入一些HTML文本,这时候AS ...
- ValidateRequest=false 不在.net2.0 中该怎么办?
ValidateRequest=false 不在.net2.0 中该怎么办? ASP.NET请求验证功能可以给我提供应用程序的保存,避免站点受到XSS的攻击. 但是在一些情况下,我们需要禁用这个功能, ...
- ASP.NET4.0中 ValidateRequest=false失效
ASP.NET请求验证功能可以给我提供应用程序的保存,避免站点受到XSS的攻击. 但是在一些情况下,我们需要禁用这个功能,比如我们需要使用HtmlEditor来让用户输入一些HTML文本,这时候ASP ...
- ASP.NET 4.0 页面 ValidateRequest=false 失效不起作用
当ASP.NET 2.0升级到 ASP.NET 4.0后,页面的 ValidateRequest="false" 不起作用. 因为 ASP.NET 4.0 请求验证被提前到IHtt ...
最新文章
- javascript进阶教程第一章案例实战
- 赠票 | 相约乌镇!世界互联网大会大数据与AI赋能实体经济论坛
- centos7安装mysql 依赖检测失败:_gcc-centos7安装mysqlworkbench依赖检测失败
- html5新年网页做给父母的,春节回家,要陪父母做这十件小事
- 高精度矢量汉字的一种填充方法_使用PS中的钢笔工具制作一只蝴蝶矢量插画
- [03]常用正则表达式
- 【控制】《自动控制原理》胡寿松老师-第4章-线性系统的根轨迹法
- 一台电脑上同启动两个Tomcat的方式,windows/Linux配置
- Python(12)-while语句+赋值运算符号+转义字符
- Cocos2d-x windows + vs2010 配置图文详解
- 剑指offer七:两个链表的第一个公共结点
- C#初学者教程系列19:Winform应用程序
- React 引入阿里矢量图标方法
- 重新回归最初始的51单片机,跟我一起学单片机吧(内含单片机驱动、烧录软件、程序开发软件的安装和使用)
- 使用Swagger生成 API 文档(go语言示例)
- (Arxiv-2021)掩码自编码器是可扩展的视觉学习者
- 《Python 数据科学实践指南》读书笔记
- 融入城市路网的乡村道路问题及对策
- nrm 安装和 nrm命令
- 《数学巴士》使用指南
热门文章
- Access数据库切换到窗体视图就卡死
- Mac突然没有声音但是重启后可以恢复
- 广东海洋大学计算机考研,广东海洋大学考研难吗?一般要什么水平才可以进入?...
- VR技术·上|有关VR的“灵魂拷问”
- 我的AI不可能这么傻:深度学习的致命弱点
- [转]Ikariam 新手攻略
- 『天涯杂谈』语不惊人死不休——2004年最一针见血的500句话 (401...)
- 项目成本计算:活动成本和资源成本
- 自定义百度地图style样式
- 位运算卷积(FWT)