Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
No .NET 9, a implementação predefinida de IHttpClientFactory foi alterada para remover as cadeias de consulta ao registar informações de URI. Essa alteração aumenta a privacidade, impedindo o registro de informações potencialmente confidenciais contidas em cadeias de caracteres de consulta, mantendo os custos de desempenho da redação mínimos. Em cenários em que o registo de parâmetros de consulta seja necessário e considerado seguro, pode ignorar este comportamento predefinido.
Versão introduzida
.NET 9 Pré-visualização 7
Comportamento anterior
Anteriormente, a implementação predefinida do registo em IHttpClientFactory incluía parâmetros de consulta nas mensagens transmitidas a ILogger, o que podia expor inadvertidamente informações confidenciais.
Novo comportamento
As mensagens transmitidas a ILogger agora têm a componente de consulta substituída por um carácter * e as componentes de informação do utilizador e de fragmento removidas.
Tipo de mudança de rutura
Esta mudança é uma mudança comportamental.
Razão para a alteração
A principal razão para esta alteração é melhorar a privacidade, reduzindo o risco de informações confidenciais serem registadas inadvertidamente. As cadeias de caracteres de consulta geralmente contêm dados confidenciais e excluí-los dos logs por padrão ajuda a proteger essas informações. Para manter a implementação simples e eficiente, a informação do utilizador e as partes fragmentadas também são removidas.
Ação recomendada
Se a sua aplicação depende do registo de parâmetros de consulta e tiver a certeza de que é seguro fazê-lo, pode desativar globalmente a ocultação do URI definindo um comutador AppContext de uma de três formas. O switch ignora qualquer redação, por isso os URIs são registados as-is, incluindo a consulta, informações do utilizador e partes fragmentadas.
No arquivo do projeto.
<ItemGroup> <RuntimeHostConfigurationOption Include="System.Net.Http.DisableUriRedaction" Value="true" /> </ItemGroup>No ficheiro runtimeconfig.json.
{ "runtimeOptions": { "configProperties": { "System.Net.Http.DisableUriRedaction": true } } }Através de uma variável de ambiente.
Defina
DOTNET_SYSTEM_NET_HTTP_DISABLEURIREDACTIONcomotrueou 1.
Caso contrário, nenhuma ação será necessária e o comportamento padrão ajudará a melhorar os aspetos de privacidade do seu aplicativo.
Nota
Esta mudança também ignora a redação de URI nos HttpClient eventos do EventSource. Para mais informações, consulte redação de URI nos eventos HttpClient EventSource.