zoukankan      html  css  js  c++  java
  • System.Web.HttpRequestValidationException——从客户端检测到危险的Request值

    EnableEventValidation="false" ValidateRequest="false"

    这是比较常见的问题了,如果Web表单中有输入类似于Html标签之类的文本,在通过Request.QueryString或者Request.Form传递这些值的时候,就会触发这样的异常,出于脚本注入等安全性考虑,这也是合情合理的。

    一般情况下,程序应尽量过滤掉,或者禁止表单上类似的输入,如果业务上非得有这样的要求,需要输入标签性的文本,可以考虑在数据向服务器端传递前,将一些敏感字符按照约定规则替换掉,向客户端输出时,再还原出原始文本。

             以上是个人认为比较正确的做法,当然就解决眼前问题而言,我看到的都是偷懒的、不计后果的做法,我得承认自己是个只要有偷懒的可能就绝不肯多费功夫的家伙,那就来吧,如果是Asp.Net WebForm应用程序,我记得以前好像在哪里写过,就是在aspx文件的page指令上添加ValidateRequest=false 属性值,这是对单一表单的做法,要想作用于更广泛的Web表单,自然是在webconfig文件中做相同的设置。另外,如果是Asp.Net MVC应用程序,则需要在webconfig<system.web>配置节中加上<httpRuntimerequestValidationMode="2.0"></httpRuntime>配置,之后,再在Controller或者Action头上添加[ValidateInput(false)]的标识,区别大家知道的,作用域不同而已,这里说的Asp.Net MVC是基于Framework4.0的环境的,Framework3.5下没试过,想来差不多。

     

     

    ====================================

    来源:http://blog.163.com/y_p_xu/blog/static/1708571022012417104354439/

  • 相关阅读:
    python-TCP传输模型
    python-锁机制
    python-生产者消费者模式
    python-Lock锁线程同步和互斥
    python-Event事件线程同步和互斥
    python-thread封装类创建线程
    python-fifo管道文件通信
    python-thread多线程
    Sublime一些设置
    gdb的user-define command
  • 原文地址:https://www.cnblogs.com/PLifeCopyDown/p/3507599.html
Copyright © 2011-2022 走看看