Редактция запроса URI в событиях HttpClient EventSource
В .NET 9 поведение по умолчанию событий, создаваемых EventSource и SocketsHttpHandlerEventSource
(HttpClientимя:): System.Net.Http
было изменено для строк запроса к скрабуб. Это изменение повышает конфиденциальность, предотвращая ведение журнала потенциально конфиденциальной информации, содержащейся в строках запроса. При необходимости можно переопределить это поведение.
Представленные версии
.NET 9( предварительная версия 7)
Прежнее поведение
Ранее события, создаваемые и SocketsHttpHandler
включенные HttpClient
сведения строки запроса, которые могут непреднамеренно предоставлять конфиденциальную информацию.
Новое поведение
При изменении dotnet/runtime#104741 строки запроса заменяются символом *
и HttpClient
SocketsHttpHandler
событиями по умолчанию. Это изменение влияет на определенные события и параметры, такие как pathAndQuery
в RequestStart
и redirectUri
в Redirect
.
Тип критического изменения
Причина изменения
Основная причина этого изменения заключается в повышении конфиденциальности путем снижения риска ведения журнала конфиденциальной информации. Строки запросов часто содержат конфиденциальные данные, а их изменение из журналов по умолчанию помогает защитить эту информацию.
Рекомендуемое действие
Если вам нужны сведения о строке запроса при использовании HttpClient
или SocketsHttpHandler
событиях, и вы уверены, что это безопасно, вы можете включить ведение журнала строк запроса глобально, задав переключатель AppContext одним из трех способов:
В файле проекта.
<ItemGroup> <RuntimeHostConfigurationOption Include="System.Net.Http.DisableUriRedaction" Value="true" /> </ItemGroup>
В файле runtimeconfig.json.
{ "runtimeOptions": { "configProperties": { "System.Net.Http.DisableUriRedaction": true } } }
С помощью переменной среды.
Задайте для
DOTNET_SYSTEM_NET_HTTP_DISABLEURIREDACTION
значениеtrue
или 1.
В противном случае никаких действий не требуется, а поведение по умолчанию поможет улучшить аспекты конфиденциальности приложения.
Примечание.
Этот параметр также отключает редактирование строки запроса в журналах по умолчанию IHttpClientFactory
. Дополнительные сведения см. в разделе о редакте запроса URI в журналах IHttpClientFactory.