zoukankan      html  css  js  c++  java
  • 出现从客户端中检测到有潜在危险的 Request.Form 值的错误时的解决办法

    从客户端(tbName="';--<script language="ja...")中检测到有潜在危险的 Request.Form 值。

    说明: 请求验证过程检测到有潜在危险的客户端输入值,对请求的处理已经中止。该值可能指示危及应用程序安全的尝试,如跨站点的脚本攻击。通过在 Page 指令或 配置节中设置 validateRequest=false 可以禁用请求验证。但是,在这种情况下,强烈建议应用程序显式检查所有输入。

    异常详细信息: System.Web.HttpRequestValidationException: 从客户端(tbName="';--<script language="ja...")中检测到有潜在危险的 Request.Form 值。

    上面这个错误的解决办法在以下代码中:
    <%@ Page validateRequest="false" language="c#" Codebehind="01Input.aspx.cs" AutoEventWireup="false" Inherits="CommandExample.login" %>
    加入validateRequest="false"
    或在web.config配置文件中加入如下代码:
    <?xml version="1.0"?>
    <configuration>
        
    <system.web>
            
    <compilation defaultLanguage="C#" debug="true">
                
    <compilers>
                    
    <compiler language="c#" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" extension=".cs" compilerOptions="/d:DEBUG;TRACE"/></compilers></compilation>
            
    <pages validateRequest="false" enableSessionState="true" enableViewState="true"/>
               ----------------------------------------------------------------------------------------------------------------------
            
    <customErrors defaultRedirect="error.htm" mode="Off"/>
            
    <globalization fileEncoding="gb2312" requestEncoding="gb2312" responseEncoding="gb2312" culture="zh-CN"/>
            
    <xhtmlConformance mode="Legacy"/></system.web>
    </configuration>

    带横线的那句,给网站所有的页面配置成validateRequest="false".

    有很多用户说这样做会不会有危险。解决方案是将提交的字符串用server.htmldecode("字符串")或

    用其他如字符串转换方法将"<" ">"等字符串转换成另一种字符串就OK!

  • 相关阅读:
    python 开发中的常用功能
    python 栈&队列&列表的区别
    python 内置函数简介及其作用
    python 正则表达式详解
    python scrapy
    python 文件操作
    python 爬虫实例
    浅谈tcp 与udp
    php正则匹配video 中或者img的宽度和高度。
    android技术积累:开发规范
  • 原文地址:https://www.cnblogs.com/fuchifeng/p/627260.html
Copyright © 2011-2022 走看看