安装了VisualStudio 2010 Ultimate,最近的一个项目升级到了4.0下,结果跑了一下,发现关于页面启用 ValidateRequest="false" 的部份失效。于是把web站点的版本及项目版本都降回原来的版本后,错误就消失了,于是搜索了一下,找到如下资料:

A potentially dangerous Request.Form value was detected from the client (ctl00$MainContent$txtCode="<code></code>").

Description: Request Validation has detected a potentially dangerous client input value, and processing of the request has been aborted. This value may indicate an attempt to compromise the security of your application, such as a cross-site scripting attack. To allow pages to override application request validation settings,  set requestValidationMode="2.0" in the configuration section. After setting this value, you can then disable request validation by setting validateRequest="false" in the Page directive or in the configuration section. However, it is strongly recommended that your application explicitly check all inputs in this case. For more information, see http://go.microsoft.com/fwlink/?LinkId=153133.

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的默认方式进行工作。

.net 4.0 ValidateRequest=false 无效解决方法相关推荐

  1. .net 4.0 ValidateRequest=false 无效

    .net 4.0 ValidateRequest="false" 无效 昨天安装了VisualStudio 2010 Ultimate,今天把最近的一个项目升级到了4.0下,结果跑 ...

  2. onsubmit校验表单时利用ajax的return false无效解决方法

    代码: function checkNewEmail(){var re_email=new RegExp("\\w+@\\w+\\.\\w+\\.?\\w*");var newEm ...

  3. ValidateInput(false)与this.ValidateRequest = false无效的解决方案

    ValidateInput(false)与this.ValidateRequest = false无效的解决方案 鼓捣了半天 终于解决了这个问题 写出来 叫后人少费点劲 在最外层的web.config ...

  4. 安卓 android:windowsoftinputmode,Android:windowSoftInputMode="adjustResize"无效解决方法

    Android:windowSoftInputMode="adjustResize"无效解决方法 时间:2018-08-16     来源:未知 Android开发中用到软键盘时会出现设置Activi ...

  5. php unserialize 返回false的解决方法

    php unserialize 返回false的解决方法 php 提供serialize(序列化) 与unserialize(反序列化)方法. 使用serialize序列化后.再使用unseriali ...

  6. Better Scroll+Vue、div的@click无效解决方法

    better-scroll+Vue.div的@click无效解决方法 正常情况,div可以直接点击 <template><div><div @click="di ...

  7. ubuntu (20.04 LTS) 屏幕亮度调节无效解决方法

    ubuntu屏幕亮度调节无效解决方法 问题描述 尝试过的解决方法 解决方法发现历程 解决方法 总结 问题描述   因为学习需要,在Win10系统的基础上安装了Ubuntu20.04 LTS 双系统,但 ...

  8. chrome浏览器模拟手机端:jquery click()点击无效解决方法

    chrome浏览器模拟手机端:jquery click()点击无效解决方法 参考文章: (1)chrome浏览器模拟手机端:jquery click()点击无效解决方法 (2)https://www. ...

  9. 出现should be mapped with insert=“false“ update=“false“的解决方法

    出现should be mapped with insert="false" update="false"的解决方法 参考文章: (1)出现should be ...

最新文章

  1. 免费学习编程的10个好工具
  2. .NET Core Community 第二个千星项目诞生:Util
  3. 计算机主机和cpu的区别,服务器CPU和普通电脑CPU有什么区别?
  4. VC++2005项目的目录结构设置
  5. 最新百度翻译接口JS逆向教程
  6. Linux之find exec
  7. 计算机组成与系统结构概述
  8. excel手机版_一秒用手机找回被误删的Excel文件,学会这招,再不怕文件丢失了...
  9. Odoo12有那些功能?『江苏odoo云整理』
  10. linux node安装菜鸟教程,Node.js 安装配置
  11. P4747 [CERC2017]Intrinsic Interval
  12. linux如何用命令进入u盘,linux 下如何打开u盘
  13. android和手环传输数据,智能手环工作原理_智能手环是如何进行数据传输的 - 全文...
  14. 苹果开发者账号和证书那些事
  15. CFileDialog过滤的用法
  16. 直方图中bins应如何理解及处理
  17. 快手引流卖什么暴利?很多人现在都觉得在各大平台引流很难
  18. 精雕软件怎么把图片转成灰度图_bmp灰度图怎么转精雕浮雕图和做刀路?
  19. java浏览器下载_Java浏览器控件下载-JxBrowser(Java浏览器控件)官方下载[Java控件]-天极下载...
  20. 特斯拉背后的电池系统Megapack

热门文章

  1. CUDA以及NVCC编译流程
  2. 水牛城大学本科的计算机专业,纽约大学水牛城分校的计算机专业排名
  3. Idea 中的 Git 操作看这一篇就够了(最全的讲解,文章比较长,截图比较多是为了说明问题)
  4. 【命名规则】驼峰命名法
  5. GhostNet: More Features from Cheap Operations
  6. SAMBA 基础及实战
  7. space_sniffer 清理 磁盘
  8. SpringBoot整合DWR-3.0.2-RELEASE版本,以及解决项目在开发环境及其外置Tomcat运行正常,独立JAR形式内置Tomcat运行异常的问题
  9. 42页中兴通讯智慧矿山解决方案V2.0
  10. TCP为什么需要3次握手与4次挥手