1. 程式人生 > >ASP.NET 在請求中檢測到包含潛在危險的資料,因為它可能包括 HTML 標記或指令碼

ASP.NET 在請求中檢測到包含潛在危險的資料,因為它可能包括 HTML 標記或指令碼

轉載:https://www.cnblogs.com/Xanthus/p/5847823.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的預設方式進行工作。