zoukankan      html  css  js  c++  java
  • asp.net 从客户端中检测到有潜在危险的 Request.Form 值错误解

    从客户端(ftbContent="<P><A href="http://l...")中检测到有潜在危险的 Request.Form 值。

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

    异常详细信息: System.Web.HttpRequestValidationException: 从客户端(ftbContent="<P><A href="http://l...")中检测到有潜在危险的 Request.Form 值 
    以上为系统报错信息。原因是,在 ASP.NET 1.1 中,@Page 指令上的 ValidateRequest 属性被打开后,将检查以确定用户没有在查询字符串、Cookie 或表单域中发送有潜在危险性的 HTML 标记。如果检测到这种情况,将引发异常并中止该请求。该属性默认情况下是打开的;您无需进行任何操作就可以得到保护。如果您想允许 HTML 标记通过,必须主动禁用该属性。 
    解决办法: 
    方法一、修改.aspx文件 
    在.aspx文件中加入validateRequest="false",形如: 

    <%@ Page validateRequest="false" language="c#" Codebehind="WriteNews.aspx.cs" AutoEventWireup="false" Inherits="News.WriteNews" %> 

    方法二、配置web.config文件 

    <?xml version="1.0" encoding="utf-8" ?> 
    <configuration> 
    <system.web> 
    <!-- WriteNews.aspx使用内容编辑框时必须添加该语句,否则无法 Request值 
    --> 
    <pages validateRequest="false"/> 
    </system.web> 
    </configuration> 


    推荐使用方法一。

    方法3:

    之前用的时候,没问题,后面换了个项目,居然报错了,郁闷至极,谷歌了下,艰难的找了原来是Framework的问题,原来用的2.0,后面变成了4.0,验证级别也更高了;

    解决办法:在config文件中加一句:<httpRuntime requestValidationMode="2.0" />,意思就是启用2.0的验证;

    代码:

    [csharp] view plaincopy
    1. <?xml version="1.0" encoding="utf-8"?>  
    2. <configuration>  
    3.   <system.web>  
    4.     <httpRuntime requestValidationMode="2.0" />  
    5.     <compilation debug="true" targetFramework="4.0">  
    6.       <assemblies>  
    7.         <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />  
    8.       </assemblies>  
    9.     </compilation>  
    10.   </system.web>  
    11.   <connectionStrings>  
    12.     <add name="PuqooAdminEntities" connectionString="metadata=res://*/AdminEntities.csdl|res://*/AdminEntities.ssdl|res://*/AdminEntities.msl;provider=System.Data.SqlClient;provider connection string="Data Source=redvine;Initial Catalog=Puqoo;Persist Security Info=True;User ID=sa;Password=sql_2008;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" />  
    13.   </connectionStrings>  
    14. </configuration>  

    上个图:

  • 相关阅读:
    Nginx常用命令
    Nginx进程模型
    华为联运游戏或应用审核驳回:使用花币充值时,对支付延时处理不当,导致商品不到账
    使用Data Ability读取系统设置项
    100个HarmonyOS 2.0开发者Beta公测名额,限时认领!
    【有奖活动】HarmonyOS开发者创新大赛颁奖典礼丨见证星星之火燃爆盛夏
    你其实可以更快!用Toolkit拖拽式编码方法帮你快速提升开发效率
    真机调试设备不够?华为AGConnect云调试帮你忙
    华为后台某应用商品展示价格币种随其他应用配置而变化
    HMS Core.Sparkle影音娱乐创新沙龙邀您参加
  • 原文地址:https://www.cnblogs.com/tianma3798/p/3549616.html
Copyright © 2011-2022 走看看