RoutingEndpointConventionBuilderExtensions.RequireHost<TBuilder> 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
要求終端在路由時與指定的主機之一匹配。
public:
generic <typename TBuilder>
where TBuilder : Microsoft::AspNetCore::Builder::IEndpointConventionBuilder[System::Runtime::CompilerServices::Extension]
static TBuilder RequireHost(TBuilder builder, ... cli::array <System::String ^> ^ hosts);
public static TBuilder RequireHost<TBuilder>(this TBuilder builder, params string[] hosts) where TBuilder : Microsoft.AspNetCore.Builder.IEndpointConventionBuilder;
static member RequireHost : 'Builder * string[] -> 'Builder (requires 'Builder :> Microsoft.AspNetCore.Builder.IEndpointConventionBuilder)
<Extension()>
Public Function RequireHost(Of TBuilder As IEndpointConventionBuilder) (builder As TBuilder, ParamArray hosts As String()) As TBuilder
類型參數
- TBuilder
參數
- builder
- TBuilder
IEndpointConventionBuilder然後加入元資料。
- hosts
- String[]
在路由時使用的主機。 主機應該是 Unicode 而非 punycode,並且可能有移植版本。 空集合表示任何主機都會被接受。
傳回
TBuilder
操作完成後,這裡是關於此實例的參考。
備註
依賴 主機標頭的 API,包括 Host 和 RequireHost<TBuilder>(TBuilder, String[]),容易受到用戶端欺騙。
為了防止主機與埠口偽造:
- 請使用 ITlsHandshakeFeature.HostName 驗證 TLS 握手時使用的伺服器名稱。
- 請用 Connection (具體來說 LocalPort)驗證連線被接受的本地埠口。