ASP.NET 在请求中检测到包含潜在危险的数据,因为它可能包括 HTML 标记或脚本

Posted Xthanus Blogs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ASP.NET 在请求中检测到包含潜在危险的数据,因为它可能包括 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>
推荐使用方法一


但是,以上设置仅对ASP.NET4.0以上有效。在ASP.NET4.0版本上,我们需要更多一行的配置:


在全局级别(Web.config中)设置
<configuration>
    <system.web>
        <httpRuntime requestValidationMode="2.0">


这一点其实在发生错误的页面中已经有说明了。在实际使用过程中,不仅如此,而且我发现requestValidationMode只要设置成小于4.0就可以,比如:1.0,2.0,3.0,3.9都是可以的,错误提示中指明用2.0,目的只是说明用ASP.NET 2.0的默认方式进行工作。

 

以上是关于ASP.NET 在请求中检测到包含潜在危险的数据,因为它可能包括 HTML 标记或脚本的主要内容,如果未能解决你的问题,请参考以下文章

asp.net 从客户端中检测到有潜在危险的 Request.Form 值

将 html 标记从 jquery 发布调用发送到 asp.net 页面时,从客户端检测到潜在危险的 Request.QueryString 值

"从客户端中检测到有潜在危险的 Request.Form 值"的解决方案汇总

为啥使用包含冒号的 URL 被视为“潜在危险请求”?

从客户端中检测到有潜在危险的 request.form值

从客户端中检测到有潜在危险的 request.form值[解决方法]