Поделиться через


Редактция запроса 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.

Затронутые API