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)] ”

      就成功了。

  • 相关阅读:
    小程序配置 全局配置
    浅谈 Nginx和LVS的各种优缺点
    LVS负载均衡(LVS简介、三种工作模式、十种调度算法)
    用Camshift算法对指定目标进行跟踪
    AsyncTask源代码解析
    shell中的${},##和%%的使用
    hdu 1081 &amp; poj 1050 To The Max(最大和的子矩阵)
    POJ 1141 Brackets Sequence (区间DP)
    Ejb in action(六)——拦截器
    7.JAVA编程思想笔记隐藏实施过程
  • 原文地址:https://www.cnblogs.com/zhenfeng/p/3925304.html
Copyright © 2011-2022 走看看