Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
In .NET 9, l'implementazione predefinita di IHttpClientFactory è stata modificata per rimuovere le stringhe di query durante la registrazione nel log delle informazioni sull'URI. Questa modifica migliora la privacy impedendo la registrazione di informazioni potenzialmente riservate contenute nelle stringhe di query mantenendo al tempo stesso i costi di prestazioni della rimozione minima. Per gli scenari in cui la registrazione delle stringhe di query è necessaria e considerata sicura, è possibile eseguire l'override di questo comportamento.
Versione introdotta
.NET 9 Preview 7
Comportamento precedente
In precedenza, l'implementazione predefinita della IHttpClientFactory registrazione includeva stringhe di query nei messaggi passati a ILogger, che potrebbero esporre inavvertitamente informazioni riservate.
Nuovo comportamento
I messaggi passati a ILogger ora hanno la componente della query sostituita con il carattere * e le componenti relative alle informazioni sull'utente e al frammento rimosse.
Tipo di modifica che causa un'interruzione
Questa è una modifica funzionale.
Motivo della modifica
Il motivo principale di questa modifica è migliorare la privacy riducendo il rischio di registrazione accidentale delle informazioni riservate. Le stringhe di query contengono spesso dati sensibili ed esclusi dai log per impostazione predefinita consentono di proteggere queste informazioni. Per mantenere l'implementazione semplice ed efficiente, vengono anche lavate le informazioni utente e le parti di frammento.
Azione consigliata
Se l'applicazione si basa sulla registrazione di stringhe di query e si è certi che sia possibile farlo in modo sicuro, è possibile disabilitare la ridistribuzione dell'URI a livello globale impostando un'opzione AppContext in uno dei tre modi. L'opzione salta qualsiasi mascheramento, quindi gli URI vengono registrati così come sono, compresi la query, le informazioni utente e il frammento.
Nel file di progetto.
<ItemGroup> <RuntimeHostConfigurationOption Include="System.Net.Http.DisableUriRedaction" Value="true" /> </ItemGroup>Nel file runtimeconfig.json.
{ "runtimeOptions": { "configProperties": { "System.Net.Http.DisableUriRedaction": true } } }Tramite una variabile di ambiente.
Impostare
DOTNET_SYSTEM_NET_HTTP_DISABLEURIREDACTIONsutrueo 1.
In caso contrario, non è necessaria alcuna azione e il comportamento predefinito contribuirà a migliorare gli aspetti della privacy dell'applicazione.
Nota
Questa opzione salta anche l'oscuramento dell'URI negli eventi HttpClient EventSource. Per altre informazioni, vedere Mascheramento degli URI negli eventi EventSource di HttpClient.