ASP.NET錯誤:具有潛在危險Request.Form 的值已從用戶端偵測到(解決方法)

在Asp.Net的網站操作中,會產生『具有潛在危險 Request.Form 的值已從用戶端偵測到』此錯誤訊息之原因,通常是在PostBack後系統偵測到頁面中存在某些文字輸入欄位如TextBox、Html編輯器(如FckEditor)等文字內容中存在Html語法,因而判斷為惡意程式碼,如此來避免駭客的惡意攻擊。


此防禦功能在Asp.Net中預設是開啟的,可以透過在頁面的Page指示詞中加入 validateRequest="False" 來關閉它。即可避免資料送出後系統將Html語法判斷為惡意程式碼。

Ex:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Test.aspx.vb" Inherits="Test" validateRequest="False" %>

另一種關閉方式是透過 web.config 設定檔來達到整個網站皆關閉防禦功能的效果。但是非常不建議直接在web.config 設定檔中作關閉的動作,這樣對系統的登入驗證頁面來說等於開了窗,非常危險。

web.config 設定檔的關閉方法:
<system.web>
         <pages validateRequest="False" />
</system.web>

沒有留言:

張貼留言