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 el comportamiento predeterminado de EventSource los eventos emitidos por HttpClient y SocketsHttpHandler (EventSource nombre: System.Net.Http) para limpiar la consulta, la información del usuario y las partes de fragmentos del 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. Si es necesario, puede anular este comportamiento.
Versión introducida
.NET 9 Versión preliminar 7
Comportamiento anterior
Anteriormente, los eventos emitidos por HttpClient e SocketsHttpHandler incluyeban información de cadena de consulta, que podía exponer accidentalmente información confidencial.
Comportamiento nuevo
Con el cambio en dotnet/runtime#104741, la parte de la consulta se reemplaza por el carácter *, y la información del usuario y el fragmento se eliminan de forma predeterminada en los eventos HttpClient y SocketsHttpHandler. Este cambio afecta a eventos y parámetros específicos, como pathAndQuery en RequestStart y redirectUri en Redirect.
Tipo de cambio importante
Este es un cambio de funcionamiento.
Motivo del cambio
La razón principal de este cambio fue 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, de forma predeterminada, la censura de los registros 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 necesita información de la cadena de consulta al consumir eventos HttpClient o SocketsHttpHandler y está seguro de que hacerlo es seguro, puede deshabilitar la censura de URI globalmente estableciendo un conmutador de AppContext de una de estas tres formas. La opción omite cualquier supresión, por lo que los URI se muestran 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:
Esta opción también omite la ocultación de URI en los registros predeterminados IHttpClientFactory. Para obtener más información, consulte Ocultación de cadenas de consulta de URI en los registros de IHttpClientFactory.