zoukankan      html  css  js  c++  java
  • 检测到有潜在危险的 Request.Form 值

      今天同事遇到一个问题“检测到有潜在危险的 Request.Form 值”,我发现此问题常遇到一般是在提交数据中包含有未编译的HTML控件(不知道是不是这么理解)、特殊的符号(如“<”,“/”)。常见的情况是页面后台提交有/n、/t这样的或者请求数据中包含<b/>这样的,如果出现这样的问题的原因是微软在.net framework2.0中引入了数据提交验证机制以防止有跨站点攻击和危险数据。ep:<img src="javascript:alert('hello');">。如果将alert('hello')换成攻击代码后果不堪设想,关于<style>也是一样。

       好了明白这是数据监测问题那么久有一个简单粗暴的解决方案来解决“检测到有潜在危险的 Request.Form 值”问题,那就是取消验证。取消验证有俩种方式

         1)在页面 Page指令中设置validateRequest="false" 

         2)在全局webconfig设置

    <configuration> 
      <system.web> 
        <pages validateRequest="false" /> 
      </system.web> 
    </configuration> 

    不过后者会将整个项目的验证都取消,而前者是取消当前页面的验证。

    注:(有时候你使用的.net framework版本为4.0那么需要在webconfig设置<httpRuntime requestValidationMode="2.0" />。很多时候会忽略这点

    不过说到这里肯定有人会说这不安全,那么还有一种解决方案。

    截取这个报错信息自定义处理方式(下班了,下次在写完给自己以后再留下资料)。

  • 相关阅读:
    Canvas API
    Lind.DDD.Aspects通过Plugins实现方法的动态拦截~Lind里的AOP
    Lind.DDD.LindMQ~关于持久化到Redis的消息格式
    MongoDB学习笔记~根据子集合里某个属性排序
    大叔最新课程~MVC核心技术剖析
    大叔最新课程~EF核心技术剖析
    hdu4300之KMP&&EKMP
    HDU 2594 Simpsons’ Hidden Talents KMP
    邮箱工具(尚未完成)的几个组件类
    java--折半查找
  • 原文地址:https://www.cnblogs.com/cjl2013/p/3572126.html
Copyright © 2011-2022 走看看