<remove> schemeSettings 的元素(Uri 设置)

删除方案名称的方案设置。

<配置>
   <uri>
     <schemeSettings>
       <删除>

Syntax

<remove
  name="http|https"
/>

特性和元素

下列各节描述了特性、子元素和父元素。

特性

Attribute Description
姓名 此设置适用的方案名称。 唯一支持的值是 name=“http”,name=“https”。

子元素

没有。

父元素

元素 Description
<schemeSettings> 元素 (Uri 设置) 指定如何 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.microsoft.com/Windows/System32/cmd.exe?/c+dir+c:\

此默认行为可以修改为不使用特定方案的 schemeSettings 配置选项取消转义百分比编码路径分隔符。

配置文件

此元素可用于应用程序配置文件或计算机配置文件(Machine.config)。

Example

以下示例演示类使用 Uri 的配置,该配置删除 http 方案的任何方案设置。

<configuration>
  <uri>
    <schemeSettings>
      <remove name="http"/>
    </schemeSettings>
  </uri>
</configuration>

另请参阅