Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W programie .NET 9 domyślne działanie zdarzeń EventSource emitowanych przez HttpClient i SocketsHttpHandler (EventSource nazwa: System.Net.Http) zostało zmodyfikowane w celu usuwania zapytania i fragmentu identyfikatora URI. Ta zmiana zwiększa prywatność, uniemożliwiając rejestrowanie potencjalnie poufnych informacji zawartych w ciągach zapytań przy jednoczesnym zachowaniu minimalnych kosztów wydajności operacji redaction. W razie potrzeby można zastąpić to zachowanie.
Wprowadzona wersja
.NET 9 (wersja zapoznawcza 7)
Poprzednie zachowanie
Wcześniej zdarzenia emitowane przez HttpClient i SocketsHttpHandler dołączone informacje o ciągu zapytania, które mogłyby przypadkowo uwidocznić poufne informacje.
Nowe zachowanie
Po zmianie w dotnet/runtime#104741, część zapytania i fragmentu są domyślnie zastępowane znakiem * w zdarzeniach HttpClient i SocketsHttpHandler. Ta zmiana dotyczy określonych zdarzeń i parametrów, takich jak pathAndQuery w RequestStart i redirectUri w Redirect.
Typ zmiany powodującej niezgodność
Ta zmiana jest zmianą behawioralną.
Przyczyna wprowadzenia zmiany
Główną przyczyną tej zmiany było zwiększenie prywatności poprzez zmniejszenie ryzyka niezamierzonego rejestrowania poufnych informacji. Ciągi zapytań często zawierają poufne dane i domyślnie pomagają chronić te informacje. Aby zapewnić prostą i wydajną implementację, część fragmentu jest również szorowana.
Zalecana akcja
Jeśli potrzebujesz informacji o ciągu zapytania podczas używania HttpClient lub SocketsHttpHandler zdarzeń i masz pewność, że jest to bezpieczne, możesz włączyć rejestrowanie ciągów zapytania globalnie, ustawiając przełącznik AppContext na jeden z trzech sposobów:
W pliku projektu.
<ItemGroup> <RuntimeHostConfigurationOption Include="System.Net.Http.DisableUriRedaction" Value="true" /> </ItemGroup>W pliku runtimeconfig.json.
{ "runtimeOptions": { "configProperties": { "System.Net.Http.DisableUriRedaction": true } } }Za pomocą zmiennej środowiskowej.
Ustaw
DOTNET_SYSTEM_NET_HTTP_DISABLEURIREDACTIONwartośćtruelub 1.
W przeciwnym razie nie jest wymagana żadna akcja, a domyślne zachowanie pomoże zwiększyć aspekty prywatności aplikacji.
Uwaga
Ten przełącznik wyłącza również funkcję redaction ciągu zapytania w dziennikach domyślnych IHttpClientFactory . Aby uzyskać więcej informacji, zobacz Redaction zapytania URI w dziennikach IHttpClientFactory.