Redação de consulta de URI em eventos HttpClient EventSource
No .NET 9, o comportamento padrão de eventos emitidos por e (EventSource
name: System.Net.Http
) foi modificado para depurar cadeias de EventSource caracteres de SocketsHttpHandler consulta.HttpClient Essa alteração aprimora a privacidade, impedindo o registro de informações potencialmente confidenciais contidas em cadeias de caracteres de consulta. Se necessário, você pode substituir esse comportamento.
Versão introduzida
.NET 9 Preview 7
Comportamento anterior
Anteriormente, os eventos emitidos e HttpClient
SocketsHttpHandler
incluíam informações de cadeia de caracteres de consulta, o que poderia expor inadvertidamente informações confidenciais.
Novo comportamento
Com a alteração em dotnet/runtime#104741, as cadeias de caracteres de consulta são substituídas por um *
caractere em HttpClient
e SocketsHttpHandler
events, por padrão. Essa alteração afeta eventos e parâmetros específicos, como pathAndQuery
in RequestStart
e redirectUri
in Redirect
.
Tipo de alteração interruptiva
Esta é uma alteração comportamental.
Motivo da alteração
O principal motivo para essa mudança foi aumentar a privacidade, reduzindo o risco de informações confidenciais serem registradas inadvertidamente. As cadeias de caracteres de consulta geralmente contêm dados confidenciais e redigi-los de logs por padrão ajuda a proteger essas informações.
Ação recomendada
Se você precisar de informações de cadeia de caracteres de consulta ao consumir HttpClient
eventos ou SocketsHttpHandler
e tiver certeza de que é seguro fazer isso, poderá habilitar o log de cadeia de caracteres de consulta globalmente definindo uma opção AppContext de uma das três maneiras:
No arquivo de projeto.
<ItemGroup> <RuntimeHostConfigurationOption Include="System.Net.Http.DisableUriRedaction" Value="true" /> </ItemGroup>
No arquivo runtimeconfig.json.
{ "runtimeOptions": { "configProperties": { "System.Net.Http.DisableUriRedaction": true } } }
Por meio de uma variável de ambiente.
Defina
DOTNET_SYSTEM_NET_HTTP_DISABLEURIREDACTION
comotrue
ou 1.
Caso contrário, nenhuma ação será necessária e o comportamento padrão ajudará a aprimorar os aspectos de privacidade do seu aplicativo.
Observação
Essa opção também desabilita a redação da cadeia de caracteres de consulta nos logs padrão IHttpClientFactory
. Para obter mais informações, consulte Redação de consulta de URI em logs IHttpClientFactory.