zoukankan      html  css  js  c++  java
  • 从客户端(&)中检测到有潜在危险的 Request.Path 值解决方案

    出这个问题基本上是在转址字符串中有非法字符“<”,'&'之类的。

    方案1:

    如果仅仅只是转换页面,传参时出现的问题,可对数据加密:

    绑定数据传值时加密 <%#Server.UrlEncode(Eval("UserId").ToString())%> 解密:HttpUtility.UrlDecode(request.QueryString["userid"].Tostrin

    方案2:

    如果是对数据库数据进行操作时出现此问题,第一、可以在存入数据库中之前加入字符过滤功能(具体实现方法百度一下,你就知道)。第二、也可以用JS加判断:

    具体代码如下:

    if(a.value.indexOf("$")!=-1)
    alert("不允许包含字符:$")
    }

    方案3:

    如果不是前两种问题那么最直接简单的方法就是取消微软对其特殊字符的验证了,不过坏处很明显!安全性不高!

    只需在Web.Config配置文件中加入<httpRuntime requestPathInvalidCharacters="" />即可!

    跟出现从客户端(&)中检测到有潜在危险的 Request.Form问题时在Page节点中加入ValidateRequest="false"的道理一样!取消验证,最懒的方法!注意安全性不高哦。

    方案4:

    出现这个问题,一般是由于.Net Framework 使用了4.0版本造成的。(从 .Net Framework 4.0 开始,ASP.NET开始强制检测Request参数安全),而我们可以通过修改 Web.config 来恢复 2.0 版本的模式。
    方法如下:
    修改Web.config,增加requestValidationMode="2.0"属性值

    <span style="font-size:18px;">
    <httpRuntime maxRequestLength="2097151" executionTimeout="3600" 
    <span style="color:#FF0000;">requestValidationMode="2.0" </span>/>
    </span>
  • 相关阅读:
    添加了tabBar之后就不能使用wx.navigateTo跳转页面
    nodejs的安装及创建项目
    人名币转大写
    C#后台去除HTML标签
    自动化测试中excel的使用
    ddt方法介绍
    requests返回值
    requests提供的get方法,有几个常用的参数
    serveragent组件含义
    jmeter使用PerfMon Metrics Collector的图表分析
  • 原文地址:https://www.cnblogs.com/dekevin/p/4562806.html
Copyright © 2011-2022 走看看