ASP.NET请求验证功能可 以给我提供应用程序的保存,避免站点受到XSS的攻击。但是在一些情况下,我们需要禁用这 个功能,比如我们需要使用HtmlEditor来让用户输入一些HTML文本,这时候ASP.NET 2.0允许我们可以通过在web.config设置validateRequest="false"。或者在MVC中,我们可以通过在 Controller或者Action上设置[ValidateRequest(false)]这个特性来达到禁用的上的。但是在当你把站点从 旧版本升级到ASP.NET 4.0后,你会发现,即使你这样做,仍然会提示你这样的一个异常“A potentially dangerous Request.Form value was detected from the client”。该如何来解决这个问题呢?

在之前的ASP.NET版本中,请求验证是默认启用的,但是它只对页面请求有效(请求.aspx页面),并且也只是在页面被请求时验证。但是在 ASP.NET 4.0中,请求验证功能被提前到IHttpHandler.BeginRequest这个方法被请求之前,这也就意味着所有进入ASP.NET请求通道的 所有的HTTP请求都将会被进行请求内容合法性的验证,包括有的自定义HttpHandler,WebService请求,甚至于利用自定义Http Module进行自定义请求处理程序。

请求验证处理被提前的后果就是导致我们在页面,或者Controller中设置ValidateRequest=false,将会失效,无法阻止程序不去 验证请求的输入内容了。因为这样做后,验证器无法得到请求的页面是否禁用了验证请求,因为还没有实例化HttpHandler。并且在 ASP.NET4.0中,并没有提供给我一个地方去禁用这个验证功能。但是出于兼容性的考虑,ASP.NET允许我们通过在web.config中配置使 用ASP.NET 2.0的请求验证行为:<httpRuntime requestValidationMode=”2.0″ />。

转载于:https://www.cnblogs.com/TSPWater/archive/2010/05/27/1745539.html

VS2010 下 ValidateRequest=false 失效相关推荐

  1. ASP.NET 4.0: 请求验证模式变化导致ValidateRequest=false失效

    ASP.NET请求验证功能可以给我提供应用程序的安全保证,避免站点受到XSS的攻击.但是在一些情况下,我们需要禁用这个功能,比如我们需要使用HtmlEditor来让用户输入一些HTML文本,这时候AS ...

  2. ASP.NET4.0中 ValidateRequest=false失效

    ASP.NET请求验证功能可以给我提供应用程序的保存,避免站点受到XSS的攻击. 但是在一些情况下,我们需要禁用这个功能,比如我们需要使用HtmlEditor来让用户输入一些HTML文本,这时候ASP ...

  3. 关于.net的ValidateRequest=false失效

    ASP.NET请求验证功能可以给我提供应用程序的安全保证,避免站点受到XSS的攻击.但是在一些情况下,我们需要禁用这个功能,比如我们需要使用HtmlEditor来让用户输入一些HTML文本,这时候AS ...

  4. ASP.NET 4.0 页面 ValidateRequest=false 失效不起作用

    当ASP.NET 2.0升级到 ASP.NET 4.0后,页面的 ValidateRequest="false" 不起作用. 因为 ASP.NET 4.0 请求验证被提前到IHtt ...

  5. vs2010下backspace键失效解决之道

    现在的项目是linux项目,因为熟悉vs,所以工作模式一直是vs下写代码,阅读代码,linux下编译.最近一段时间只是看别人的代码,一直没有写,今天手痒,想写个东西,没想到发现在vs下backspac ...

  6. ValidateRequest=false 不在.net2.0 中该怎么办?

    ValidateRequest=false 不在.net2.0 中该怎么办? ASP.NET请求验证功能可以给我提供应用程序的保存,避免站点受到XSS的攻击. 但是在一些情况下,我们需要禁用这个功能, ...

  7. 关于ASP.Net的validateRequest=false(验证请求)

    ASP.Net的validateRequest=false validateRequest="false"   指是否要IIS验证页面提交的非法字符,比如:>,<号等, ...

  8. .net 4.0 ValidateRequest=false 无效解决方法

    安装了VisualStudio 2010 Ultimate,最近的一个项目升级到了4.0下,结果跑了一下,发现关于页面启用 ValidateRequest="false" 的部份失 ...

  9. 非禁用validateRequest=false使用Page_Error()错误处理

    ASP.Net 1.1后引入了对提交表单自动检查是否存在XSS(跨站脚本攻击)的能力.当用户试图用之类的输入影响页面返回结果的时候,ASP.Net的引擎会引发一 个 HttpRequestValida ...

最新文章

  1. OpenCV图像处理——iOS端人脸检测
  2. simplexml php,PHP 使用 SimpleXML 遇到冒号「:」的解法
  3. 将dll制作成控件_如何将皮料剪切成想要的大小?制作皮具几种裁剪工具和使用方法...
  4. 应用程序错误代码0xe06d7363怎么解决
  5. IE兼容/IE5兼容踩过的坑
  6. 服务器虚拟内存最佳设置范围,虚拟内存有什么用?虚拟内存设置多少合适?
  7. matlab——for循环
  8. ubuntu开启关闭CPU核心的指定线程、开启关闭CPU超频boost、指定特定CPU线程运行相应任务(taskset)
  9. 华东师范大学软件工程专硕考研398分复习经验总结
  10. c语言实现十进制转换其他进制的代码
  11. Python之——网站访问流量统计
  12. 如何将一个向量投影到一个平面上_向量积的种类以及表示方法
  13. 最长的英文单词十大排行榜
  14. 南阳oj入门题-蛇形填数
  15. HDU 3374 最小 / 大表示法
  16. 排序函数sort()
  17. 【获取百度云盘直链】
  18. 1.4 高级数据库系统
  19. 音乐与动漫及游戏的关系--游戏动漫音乐音效制作 分贝块
  20. 书之文化:卢中南米字格单字《300句成语》字帖送给你

热门文章

  1. ansible的剧本
  2. SAN和NAS之间的基本区别
  3. codeforces 630K - Indivisibility
  4. 外汇天眼:HAITONG FUTURES海通期货被山寨!受害者:到底哪个是真的?
  5. mac 访问阿里云服务器(简单粗暴)
  6. 云存储管理的9个免费工具
  7. Python-Django-runserver:启动服务,google无法访问此网站,360、IE可以访问
  8. Java秒杀系统-2.5-异常拦截
  9. 客户倒逼!F-One如何2C和2B双模式齐下?
  10. 解决Xshell/Xftp强制升级无法进入问题