Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Na platformie .NET 9 domyślna implementacja IHttpClientFactory została zmodyfikowana w celu czyszczenia ciągów zapytań podczas rejestrowania informacji o identyfikatorze 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 przypadku scenariuszy, w których rejestrowanie ciągów zapytań jest niezbędne i uznane za bezpieczne, można zastąpić to zachowanie.
Wprowadzona wersja
.NET 9 (wersja zapoznawcza 7)
Poprzednie zachowanie
Wcześniej domyślna implementacja rejestrowania IHttpClientFactory zawierała ciągi zapytań w komunikatach przekazanych do ILogger, co mogło przypadkowo uwidocznić poufne informacje.
Nowe zachowanie
Komunikaty przekazywane do ILogger mają teraz część zapytania zastąpioną znakiem *, a części informacji o użytkowniku i fragment zostały usunięte.
Typ zmiany powodującej niezgodność
Ta zmiana jest zmianą behawioralną.
Przyczyna wprowadzenia zmiany
Główną przyczyną tej zmiany jest zwiększenie prywatności poprzez zmniejszenie ryzyka niezamierzonego rejestrowania poufnych informacji. Ciągi zapytań często zawierają poufne dane i domyślnie wykluczają je z dzienników, co pomaga chronić te informacje. Aby zapewnić prostą i wydajną implementację, informacje o użytkowniku i części fragmentów są również czyszczone.
Zalecana akcja
Jeśli działanie aplikacji zależy od rejestrowania parametrów zapytania i masz pewność, że jest to bezpieczne, możesz globalnie wyłączyć redagowanie identyfikatora URI, ustawiając przełącznik AppContext w jeden z trzech sposobów. Przełącznik pomija wszelkie redagowanie, więc identyfikatory URI są rejestrowane w niezmienionej postaci, łącznie z zapytaniem, informacjami o użytkowniku i fragmentem.
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_DISABLEURIREDACTIONnatruelub 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 pomija również maskowanie identyfikatorów URI w zdarzeniach HttpClient EventSource. Aby uzyskać więcej informacji, zobacz Ukrywanie identyfikatorów URI w zdarzeniach EventSource składnika HttpClient.