共用方式為


HttpRuntimeSection.EnableHeaderChecking 屬性

定義

取得或設定值,表示是否啟用標頭檢查。

public:
 property bool EnableHeaderChecking { bool get(); void set(bool value); };
[System.Configuration.ConfigurationProperty("enableHeaderChecking", DefaultValue=true)]
public bool EnableHeaderChecking { get; set; }
[<System.Configuration.ConfigurationProperty("enableHeaderChecking", DefaultValue=true)>]
member this.EnableHeaderChecking : bool with get, set
Public Property EnableHeaderChecking As Boolean

屬性值

如果啟用標頭檢查則為 true,否則為 false。 預設值是 true

屬性

範例

下列範例將示範如何使用 EnableHeaderChecking 屬性。

// Get the EnableHeaderChecking property value.
Response.Write("EnableHeaderChecking: " +
  configSection.EnableHeaderChecking + "<br>");

// Set the EnableHeaderChecking property value to true.
configSection.EnableHeaderChecking = true;
' Get the EnableHeaderChecking property value.
Response.Write("EnableHeaderChecking: " & _
  configSection.EnableHeaderChecking & "<br>")

' Set the EnableHeaderChecking property value to true.
configSection.EnableHeaderChecking = True

備註

此屬性的目的是要啟用歸位字元和換行符號的編碼, \r 以及在 \n回應標頭中找到的 。

在輸出響應標頭中,由程式碼0x1F和下方所代表的字元會編碼,也會編碼字元0x7F (删除字符) 。 唯一的例外是0x09 (索引卷标字符) 未修改字元。

此編碼有助於避免插入式攻擊,這些攻擊會利用標頭所包含不受信任資料的應用程式。

注意

此屬性不適用於狀態行本身 (狀態代碼和狀態描述) ,但應該套用至其他標頭。 雖然 <HTTPRuntime> 可以在任何層級設定,但此屬性只適用於計算機和應用層級。

當此屬性為 true時,這是預設值, \r 回應標頭中找到的 或 \n 字元會編碼為 %0d%0a。 這會藉由將插入的材質部分設定為相同的標頭行,來破壞標頭插入式攻擊。 這可能會中斷回應,但不應該針對客戶端開啟攻擊向量。 不過,在任何情況下,回顯不受信任的數據絕不是個不錯的主意。

重要

HTTP 標頭接續依賴跨越多行的標頭,並需要在其中使用新行。 如果您需要使用標頭接續,您必須將 EnableHeaderChecking 屬性設定為 false。 由於查看標頭會對效能造成影響,如果您確定已經執行正確的檢查,關閉此功能可以改善應用程式的效能。 在停用此功能之前,請確定您已在此區域中採取正確的預防措施。

適用於

另請參閱