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, o comportamento predefinido dos eventos EventSource emitidos por HttpClient e SocketsHttpHandler (nome de EventSource: System.Net.Http) foi modificado para remover as partes de consulta, informação do utilizador e fragmento do 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. Se necessário, você pode substituir esse comportamento.
Versão introduzida
.NET 9 Preview 7
Comportamento anterior
Anteriormente, os eventos emitidos por HttpClient e SocketsHttpHandler incluíam informações da cadeia de consulta, o que podia expor inadvertidamente informações sensíveis.
Novo comportamento
Com a alteração em dotnet/runtime#104741, o componente de consulta é substituído pelo caráter *, e os componentes de informações do utilizador e de fragmento são removidos, por defeito, nos eventos HttpClient e SocketsHttpHandler. Essa alteração afeta eventos e parâmetros específicos, como pathAndQuery no RequestStart e redirectUri no Redirect.
Tipo de alteração interruptiva
Esta mudança é uma mudança comportamental.
Razão para a alteração
A principal razão para esta alteração foi 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 editá-las de 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 precisar de informação da cadeia de consulta ao consumir eventos HttpClient ou SocketsHttpHandler e tiver a certeza de que é seguro fazê-lo, pode desativar globalmente a redação de URI definindo um comutador AppContext de uma de três formas. O switch ignora qualquer redação, por isso os URIs são reportados 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 opção também omite a redação do URI nos registos predefinidos IHttpClientFactory. Para obter mais informações, consulte Ocultação da cadeia de consulta do URI nos registos do IHttpClientFactory.