Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In .NET 9 wurde das Standardverhalten der von EventSource und HttpClient (SocketsHttpHandler Name: EventSource) ausgegebenen System.Net.Http Ereignisse geändert, um die Abfrage- und Fragmentteile des URI zu bereinigen. Diese Änderung verbessert den Datenschutz, indem verhindert wird, dass potenziell vertrauliche Informationen, die in Abfragezeichenfolgen enthalten sind, protokolliert werden, während die Leistungskosten der Redaction minimal bleiben. Bei Bedarf können Sie dieses Verhalten außer Kraft setzen.
Eingeführt in Version
.NET 9 Preview 7
Vorheriges Verhalten
Zuvor wurden Ereignisse, die von HttpClient Abfragezeichenfolgeninformationen ausgegeben und SocketsHttpHandler eingeschlossen wurden, die versehentlich vertrauliche Informationen verfügbar machen können.
Neues Verhalten
Mit der Änderung in dotnet/runtime#104741 werden die Abfrage- und Fragmentteile standardmäßig durch ein *-Zeichen in HttpClient- und SocketsHttpHandler-Ereignissen ersetzt. Diese Änderung wirkt sich auf bestimmte Ereignisse und Parameter aus, wie zum Beispiel pathAndQuery in RequestStart und redirectUri in Redirect.
Typ des Breaking Changes
Diese Änderung ist eine Verhaltensänderung.
Grund für die Änderung
Der Hauptgrund für diese Änderung war es, den Datenschutz zu verbessern, indem das Risiko, dass vertrauliche Informationen versehentlich protokolliert werden, reduziert wird. Abfragezeichenfolgen enthalten häufig vertrauliche Daten, und das Standardmäßige Redacting von Protokollen trägt zum Schutz dieser Informationen bei. Um die Implementierung einfach und effizient zu halten, wird auch das Fragment bereinigt.
Empfohlene Maßnahme
Wenn Sie Abfragezeichenfolgeninformationen benötigen, wenn Sie Daten verwenden oder HttpClient Ereignisse verwenden SocketsHttpHandler und sicher sind, dass dies sicher ist, können Sie die Abfragezeichenfolgenprotokollierung global aktivieren, indem Sie einen AppContext-Switch auf eine von drei Arten festlegen:
In der Projektdatei.
<ItemGroup> <RuntimeHostConfigurationOption Include="System.Net.Http.DisableUriRedaction" Value="true" /> </ItemGroup>In der runtimeconfig.json-Datei.
{ "runtimeOptions": { "configProperties": { "System.Net.Http.DisableUriRedaction": true } } }Über eine Umgebungsvariable.
DOTNET_SYSTEM_NET_HTTP_DISABLEURIREDACTIONwird auftrueoder 1 festgelegt.
Andernfalls ist keine Aktion erforderlich, und das Standardverhalten trägt dazu bei, die Datenschutzaspekte Ihrer Anwendung zu verbessern.
Hinweis
Diese Option deaktiviert auch die Bearbeitung von Abfragezeichenfolgen in den Standardprotokollen IHttpClientFactory . Weitere Informationen finden Sie unter URI-Abfrage redaction in IHttpClientFactory-Protokollen.