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

      就成功了。

  • 相关阅读:
    集合赋值及for循环删除符合条件的元素
    shiro系列12:rememberme(记住我)
    shiro系列11:缓存
    shiro系列10:会话管理
    shiro系列8:授权源码解析
    shiro系列7:拦截器
    shiro系列6:授权
    shiro系列5:Realm
    shiro系列4:认证源码解析
    shiro系列3:MD5盐值加密认证流程
  • 原文地址:https://www.cnblogs.com/zhenfeng/p/3925304.html
Copyright © 2011-2022 走看看