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 von EventSource Ereignissen, die von HttpClient und SocketsHttpHandler (EventSource Name: System.Net.Http) ausgegeben werden, geändert, um die Abfrage, Benutzerinformationen und Fragmentteile des URI zu berbern. 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 enthielten Ereignisse, die von HttpClient und SocketsHttpHandler ausgegeben wurden, Informationen aus der Abfragezeichenfolge, wodurch möglicherweise unbeabsichtigt sensible Informationen offengelegt wurden.
Neues Verhalten
Mit der Änderung in dotnet/runtime#104741 wird der Abfrageteil durch ein * Zeichen ersetzt, und die Benutzerinformationen und Fragmentteile werden standardmäßig in HttpClient und SocketsHttpHandler Ereignissen entfernt. 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. Abfrageparameter enthalten häufig vertrauliche Daten, und ihr standardmäßiges Schwärzen in Protokollen hilft, diese Informationen zu schützen. Um die Implementierung einfach und effizient zu halten, werden auch die Benutzerinformationen und Fragmentbestandteile bereinigt.
Empfohlene Maßnahme
Wenn Sie beim Verarbeiten von SocketsHttpHandler- oder HttpClient-Ereignissen Informationen zur Abfragezeichenfolge benötigen und sicher sind, dass dies unbedenklich ist, können Sie die URI-Schwärzung global deaktivieren, indem Sie einen AppContext-Schalter auf eine von drei Arten festlegen. Der Schalter überspringt jede Schwärzung, sodass URIs unverändert gemeldet werden, einschließlich des Abfrageteils, der Benutzerinformationen und des Fragmentteils.
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 den Standardprotokollen IHttpClientFactory . Weitere Informationen finden Sie unter Schwärzung von URI-Abfrageparametern in IHttpClientFactory-Protokollen.