Delen via


URI-query en fragmentheractie in IHttpClientFactory-logboeken

In .NET 9 is de standaardimplementatie gewijzigd om queryreeksen te wassen bij het vastleggen van IHttpClientFactory URI-gegevens. Deze wijziging verbetert de privacy door het vastleggen van mogelijk gevoelige informatie in queryreeksen te voorkomen, terwijl de prestatiekosten van de redaction minimaal blijven. Voor scenario's waarin logboekregistratiequeryreeksen nodig zijn en als veilig worden beschouwd, kunt u dit gedrag overschrijven.

Versie geïntroduceerd

.NET 9 Preview 7

Vorig gedrag

Voorheen bevatte de standaard implementatie van IHttpClientFactory logboekregistratie queryreeksen in de berichten die zijn doorgegeven ILogger, waardoor gevoelige informatie per ongeluk beschikbaar zou kunnen worden gemaakt.

Nieuw gedrag

De berichten die aan ILogger zijn doorgegeven, hebben nu het query- en fragmentgedeelte vervangen door een * teken.

Type wijziging die fouten veroorzaken

Deze wijziging is een gedragswijziging.

Reden voor wijziging

De belangrijkste reden voor deze wijziging is om de privacy te verbeteren door het risico te verminderen dat gevoelige informatie per ongeluk wordt geregistreerd. Queryreeksen bevatten vaak gevoelige gegevens en uitsluiten van logboeken helpen deze informatie standaard te beveiligen. Om de implementatie eenvoudig en efficiënt te houden, wordt het fragmentgedeelte ook geschrobd.

Als uw toepassing afhankelijk is van queryreeksen voor logboekregistratie en u er zeker van bent dat dit veilig is, kunt u logboekregistratie van queryreeksen globaal inschakelen door een AppContext-switch op drie manieren in te stellen:

  • In het projectbestand.

    <ItemGroup>
      <RuntimeHostConfigurationOption Include="System.Net.Http.DisableUriRedaction" Value="true" />
    </ItemGroup>
    
  • In het bestand runtimeconfig.json .

    {
        "runtimeOptions": {
            "configProperties": {
                "System.Net.Http.DisableUriRedaction": true
            }
        }
    }
    
  • Via een omgevingsvariabele.

    Ingesteld DOTNET_SYSTEM_NET_HTTP_DISABLEURIREDACTION op true of 1.

Anders is er geen actie vereist en het standaardgedrag helpt de privacyaspecten van uw toepassing te verbeteren.

Notitie

Met deze schakeloptie wordt ook de redaction van queryreeksen in HttpClient EventSource-gebeurtenissen uitgeschakeld. Zie URI-query's redaction in HttpClient EventSource-gebeurtenissen voor meer informatie.

Betrokken API's