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 die Standardimplementierung IHttpClientFactory geändert, um Abfragezeichenfolgen beim Protokollieren von URI-Informationen 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. Für Szenarien, in denen die Protokollierung von Abfragezeichenfolgen erforderlich und als sicher eingestuft wird, können Sie dieses Verhalten außer Kraft setzen.
Eingeführt in Version
.NET 9 Preview 7
Vorheriges Verhalten
Zuvor enthielt die Standardimplementierung der Protokollierung von IHttpClientFactory Abfragezeichenfolgen in den an ILogger übergebenen Nachrichten, wodurch vertrauliche Informationen unbeabsichtigt offengelegt werden konnten.
Neues Verhalten
Die an ILogger übergebenen Nachrichten haben jetzt den Abfrageteil durch das Zeichen * ersetzt, und der Benutzerinfo- sowie der Fragmentteil wurden entfernt.
Typ des Breaking Changes
Diese Änderung ist eine Verhaltensänderung.
Grund für die Änderung
Der Hauptgrund für diese Änderung besteht darin, den Datenschutz zu verbessern, indem das Risiko reduziert wird, dass vertrauliche Informationen versehentlich protokolliert werden. Abfragezeichenfolgen enthalten häufig vertrauliche Daten und ausschließen sie standardmäßig aus Protokollen, um diese Informationen zu schützen. Um die Implementierung einfach und effizient zu halten, werden auch die Benutzerinformationen und Fragmentbestandteile bereinigt.
Empfohlene Maßnahme
Wenn Ihre Anwendung auf die Protokollierung von Abfragezeichenfolgen angewiesen ist und Sie sicher sind, dass dies sicher ist, können Sie die URI-Redaction global deaktivieren, indem Sie einen AppContext-Switch auf eine von drei Arten festlegen. Der Schalter überspringt jede Schwärzung, sodass URIs unverändert protokolliert werden, einschließlich der Abfrage-, Benutzerinformations- und Fragmentteile.
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 überspringt auch die URI-Redaction in HttpClient EventSource-Ereignissen. Weitere Informationen finden Sie unter URI-Redaction in HttpClient EventSource-Ereignissen.