首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

ASP.NET validateRequest 屬性深度解析:預設防護、關閉風險與友善錯誤提示實作

     編輯:關於ASP.NET

屬性基本資訊

  • 命名空間:System.Web.Configuration
  • 組件:System.Web.dll
  • 類別:PagesSection
  • 預設值:true(.NET 2.0 新增)

運作機制

驗證用戶輸入是否包含危險字元(<script> 等),偵測到即拋出 HttpRequestValidationException,顯示黃色錯誤頁(YSOD)。

關閉後的替代方案

  1. 自訂過濾:關閉 validateRequest,自行過濾/編碼危險字元(易漏網)。
  2. 白名單轉義:僅允許必要特殊字元,其餘轉義,保留 validateRequest=true。

友善錯誤提示:Page_Error

protected void Page_Error(object sender, EventArgs e) 
{
    var ex = Server.GetLastError();
    if (ex is HttpRequestValidationException) 
    {
        Response.Write("您輸入的字元中含有非法字元!");
        Server.ClearError();
    }
}

替換嚇人的 YSOD,提升使用者體驗。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved