Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En .NET 9, se ha modificado la implementación predeterminada de IHttpClientFactory para depurar las cadenas de consulta al registrar información de URI. Este cambio mejora la privacidad evitando el registro de información potencialmente confidencial contenida en las cadenas de consulta, a la vez que mantiene los costos de rendimiento de la redacción mínima. En los casos en que sea necesario y se considere seguro registrar las cadenas de consulta, puede anular este comportamiento.
Versión introducida
.NET 9 Versión preliminar 7
Comportamiento anterior
Anteriormente, la implementación predeterminada del registro IHttpClientFactory incluía las cadenas de consulta en los mensajes enviados a ILogger, lo que podía exponer accidentalmente información confidencial.
Comportamiento nuevo
Los mensajes enviados a ILogger ahora tienen la parte de la consulta sustituida por el carácter *, y se han eliminado la información del usuario y la parte del fragmento.
Tipo de cambio importante
Este es un cambio de funcionamiento.
Motivo del cambio
La razón principal de este cambio es mejorar la privacidad al reducir el riesgo de que la información confidencial se registre involuntariamente. Las cadenas de consulta suelen contener datos confidenciales y excluirlos de los registros de forma predeterminada ayuda a proteger esta información. Para que la implementación sea sencilla y eficaz, la información del usuario y las partes de fragmentos también se limpian.
Acción recomendada
Si su aplicación depende del registro de cadenas de consulta y tiene la certeza de que hacerlo es seguro, puede deshabilitar la censura de URI globalmente estableciendo un modificador de AppContext de una de estas tres formas. La opción omite cualquier ocultación, por lo que los URI se registran tal cual, incluida la consulta, la información del usuario y el fragmento.
En el archivo del proyecto.
<ItemGroup> <RuntimeHostConfigurationOption Include="System.Net.Http.DisableUriRedaction" Value="true" /> </ItemGroup>En el archivo runtimeconfig.json.
{ "runtimeOptions": { "configProperties": { "System.Net.Http.DisableUriRedaction": true } } }A través de una variable de entorno.
Establezca
DOTNET_SYSTEM_NET_HTTP_DISABLEURIREDACTIONentrueo 1.
De lo contrario, no se requiere ninguna acción y el comportamiento predeterminado ayudará a mejorar los aspectos de privacidad de la aplicación.
Nota:
Este interruptor también omite la supresión de URI en eventos EventSource de HttpClient. Para obtener más información, consulte la ocultación de URI en los eventos de EventSource de HttpClient.