共用方式為


<schemeSettings> 元素 (URI 設定)

指定如何 Uri 剖析特定配置。

<組態>
   <uri>
     <schemeSettings>

語法

<schemeSettings>
</schemeSettings>  

屬性和元素

下列各節說明屬性、子元素和父元素。

屬性

沒有

子專案

Element 說明
新增 新增配置名稱的配置設定。
清除 清除所有現有的配置設定。
移除 拿掉設定名稱的設定設定。

父元素

Element 說明
uri 包含設定,指定 .NET Framework 如何處理使用統一資源標識碼 (URI) 表示的網址。

備註

根據預設,類別在執行 System.Uri 路徑壓縮之前,會取消逸出百分比編碼路徑分隔符。 這實作為針對攻擊的安全性機制,如下所示:

http://www.contoso.com/..%2F..%2F/Windows/System32/cmd.exe?/c+dir+c:\

如果此 URI 傳遞至未正確處理百分比編碼字元的模組,可能會導致伺服器執行下列命令:

c:\Windows\System32\cmd.exe /c dir c:\

基於這個理由, System.Uri 類別會先取消逸出路徑分隔符,然後套用路徑壓縮。 將上述惡意 URL 傳遞至 System.Uri 類別建構函式的結果會產生下列 URI:

http://www.contoso.com/Windows/System32/cmd.exe?/c+dir+c:\

您可以使用特定配置的schemeSettings組態選項,將此預設行為修改為不要取消逸出百分比編碼路徑分隔符。

組態檔

此元素可用於應用程式組態檔或計算機組態檔 (Machine.config)。

範例

下列範例顯示 類別用來 Uri 支援不逸出 HTTP 配置之百分比編碼路徑分隔符的組態。

<configuration>  
  <uri>  
    <schemeSettings>  
      <add name="http" genericUriParserOptions="DontUnescapePathDotsAndSlashes"/>  
    </schemeSettings>  
  </uri>  
</configuration>  

元素資訊

命名空間:系統

另請參閱