Sdílet prostřednictvím


Dotazy URI a redaction fragmentu v protokolech IHttpClientFactory

V .NET 9 byla výchozí implementace IHttpClientFactory upravena tak, aby při protokolování informací URI vyčistit řetězce dotazu. Tato změna zlepšuje ochranu osobních údajů tím, že brání protokolování potenciálně citlivých informací obsažených v řetězcích dotazů a zároveň udržuje náklady na výkon redakce minimální. V situacích, kdy je protokolování řetězců dotazů nezbytné a považuje se za bezpečné, můžete toto chování přepsat.

Zavedená verze

.NET 9 Preview 7

Předchozí chování

Dříve výchozí implementace IHttpClientFactory protokolování zahrnovala řetězce dotazu ve zprávách předaných ILogger, které by mohly neúmyslně vystavit citlivé informace.

Nové chování

Zprávy předané ILogger teď mají část dotazu a fragmentu nahrazenou znakem *.

Typ zásadní změny

Tato změna je změna chování.

Důvod změny

Hlavním důvodem této změny je zvýšení ochrany osobních údajů snížením rizika neúmyslného protokolování citlivých informací. Řetězce dotazů často obsahují citlivá data a jejich vyloučení z protokolů ve výchozím nastavení pomáhá chránit tyto informace. Aby implementace byla jednoduchá a efektivní, část fragmentu se také vyčistila.

Pokud vaše aplikace spoléhá na řetězce dotazů protokolování a jste si jistí, že je to bezpečné, můžete povolit protokolování řetězců dotazů globálně nastavením přepínače AppContext jedním ze tří způsobů:

  • V souboru projektu.

    <ItemGroup>
      <RuntimeHostConfigurationOption Include="System.Net.Http.DisableUriRedaction" Value="true" />
    </ItemGroup>
    
  • V souboru runtimeconfig.json.

    {
        "runtimeOptions": {
            "configProperties": {
                "System.Net.Http.DisableUriRedaction": true
            }
        }
    }
    
  • Prostřednictvím proměnné prostředí.

    Nastavte DOTNET_SYSTEM_NET_HTTP_DISABLEURIREDACTION na true hodnotu nebo 1.

Jinak se nevyžaduje žádná akce a výchozí chování pomůže vylepšit aspekty ochrany osobních údajů vaší aplikace.

Poznámka:

Tento přepínač také zakáže redakci řetězce dotazu v HttpClient událostech EventSource. Další informace najdete v tématu Redaction dotazu identifikátoru URI v událostech HttpClient EventSource.

Ovlivněná rozhraní API