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>
  • 相关阅读:
    python查询MySQL写入Excel
    Spring BOOT的学习笔记
    后台管理系统好用的UI框架
    SSM学习笔记
    解决thinkPHP3.2.3使用Smarty模板后无法使用系统常量问题
    提交代码,SVN被锁定,提示:svn is already locked解决方案
    CentOS 7编译安装php7.0.7以及可能遇到的问题的解决方案
    thinkphp nginx配置
    php读取不到指定的php.ini配置
    phpmyadmin nginx设置
  • 原文地址:https://www.cnblogs.com/dekevin/p/4562806.html
Copyright © 2011-2022 走看看