zoukankan      html  css  js  c++  java
  • .net MVC 访问风险提示

      我是在一次以XML格式的字符串作为参数值进行post请求时,服务器端(MVC模式)报出“从客户端(StaffBindReq="<?xml version="1.0" ...")中检测到有潜在危险的 Request.Form 值”的错误。

      然后在网上查找解决方案,给的解决方案都是这样的:

    *************************************************************

      方法一、修改.aspx文件

      在.aspx文件中加入validateRequest="false",形如:

      <%@ Page validateRequest="false" language="c#" Codebehind="WriteNews.aspx.cs" Inherits="News.WriteNews" %>

      方法二、配置web.config文件
      <?xml version="1.0" encoding="utf-8" ?>
        <configuration>
            <system.web>

           <pages validateRequest="false"/>

             </system.web>
        </configuration>

    ***************************************************************

      但是在mvc中,第一种方法显然是不可取的,第二种我加上之后,发现不起作用。然后在网上查找解决方案,给出的新的解决方案是在方法前加上“[ValidateInput(false)] ”,最终发现依然不起作用。

      没办法,接着查,最后的解决方案是改变了运行时的框架。

      将

      <system.web>
      <httpRuntime targetFramework="4.5" />
      <httpRuntime requestValidationMode="2.0" />
      <compilation debug="true" targetFramework="4.5" />

      </system.web>

      改为:

      <system.web>
      <httpRuntime requestValidationMode="2.0" />
      <compilation debug="true" targetFramework="4.5" />

      </system.web>

      然后再加上上面改的两点:

      1

      配置web.config文件
      <?xml version="1.0" encoding="utf-8" ?>
        <configuration>
            <system.web>

           <pages validateRequest="false"/>

             </system.web>
        </configuration>

      2 在方法前加上“[ValidateInput(false)] ”

      就成功了。

  • 相关阅读:
    flex
    当前不会命中断点 源代码与原始版本不一致
    c setjmp longjmp
    VS 快捷键设置
    Lua C API 遍历 table
    lua class
    复习 C++ 中类的函数指针
    apache ab
    rabbitmq
    协程 coroutine
  • 原文地址:https://www.cnblogs.com/zhenfeng/p/3925304.html
Copyright © 2011-2022 走看看