Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
No .NET 9, o comportamento padrão dos eventos EventSource emitidos por HttpClient e SocketsHttpHandler (EventSource chamado: System.Net.Http) foi modificado para remover da URI a consulta, as informações do usuário e o fragmento. Essa alteração aprimora a privacidade impedindo o registro em log de informações potencialmente confidenciais contidas em cadeias de caracteres de consulta, mantendo os custos de desempenho da redação mínimos. Se necessário, você pode substituir esse comportamento.
Versão introduzida
.NET 9 Versão Prévia 7
Comportamento anterior
Anteriormente, os eventos emitidos por HttpClient e SocketsHttpHandler continham informações da string de consulta, o que poderia expor inadvertidamente informações confidenciais.
Novo comportamento
Com a alteração em dotnet/runtime#104741, a parte de consulta é substituída por um caractere *, e as partes de informações do usuário e de fragmento são removidas nos eventos HttpClient e SocketsHttpHandler, por padrão. Essa alteração afeta eventos e parâmetros específicos, como pathAndQuery em RequestStart e redirectUri em 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 strings de consulta geralmente contêm dados confidenciais, e ocultá-las nos logs por padrão ajuda a proteger essas informações. Para manter a implementação simples e eficiente, as informações do usuário e as partes de fragmento também são removidas.
Ação recomendada
Se você precisar de informações da string de consulta ao consumir eventos SocketsHttpHandler ou HttpClient e tiver certeza de que é seguro fazer isso, poderá desabilitar globalmente o mascaramento de URI definindo um comutador do AppContext de uma destas três formas. A opção ignora qualquer redação, portanto, as URIs são relatadas as-is, incluindo a consulta, as informações do usuário e as partes do fragmento.
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_DISABLEURIREDACTIONcomotrueou 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 ignora a redação de URI nos logs padrão IHttpClientFactory . Para obter mais informações, consulte Ocultação de consultas URI nos logs do IHttpClientFactory.