RoutingEndpointConventionBuilderExtensions.RequireHost<TBuilder> Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Erfordert, dass Endpunkte während des Routings mit einem der angegebenen Hosts übereinstimmen.
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
Typparameter
- TBuilder
Parameter
- builder
- TBuilder
The IEndpointConventionBuilder to add the metadata to add the metadata to.
- hosts
- String[]
Die während des Routings verwendeten Hosts. Hosts sollten Unicode anstelle von Punycode sein und möglicherweise über einen Port verfügen. Eine leere Sammlung bedeutet, dass jeder Host akzeptiert wird.
Gibt zurück
Ein Verweis auf diese Instanz, nachdem der Vorgang abgeschlossen wurde.
Hinweise
APIs, die vom Hostheader abhängen, einschließlich Host und RequireHost<TBuilder>(TBuilder, String[]), sind anfällig für Clientspoofing.
So schützen Sie sich vor Host- und Portspoofing:
- Überprüfen Sie den Servernamen, der während des TLS-Handshakes mit ITlsHandshakeFeature.HostName verwendet wird.
- Überprüfen Sie den lokalen Port, an dem die Verbindung akzeptiert Connection wurde (insbesondere LocalPort).