• 从客户端(&)中检测到有潜在危险的 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>
  • 相关阅读:
    一道比较有趣的题
    笑话两则
    时钟
    组策略 简单介绍
    网页乱码问题ASP.NET
    同性恋的公鸡
    SQL中CASE函数_可解决编程中空表检索的一些问题
    百万网?
    黑客 故事
    word有趣问题集锦
  • 原文地址:https://www.cnblogs.com/dekevin/p/4562806.html
Copyright © 2020-2023  润新知