asp.net 从客户端中检测到有潜在危险的 Request.Form 值错误解 |
本文标签:asp.net,潜在危险 从客户端(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> 推荐使用方法一 。 |