Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Dans .NET 9, l’implémentation par défaut de IHttpClientFactory a été modifiée afin d’expurger les chaînes de requête lors de la journalisation des informations d’URI. Cette modification améliore la confidentialité en empêchant la journalisation des informations potentiellement sensibles contenues dans les chaînes de requête, tout en maintenant au minimum les coûts de performance. Pour les scénarios où la journalisation des chaînes de requête est nécessaire et considérée comme sécurisée, vous pouvez remplacer ce comportement.
Version introduite
.NET 9 Préversion 7
Comportement précédent
Auparavant, l’implémentation par défaut de la journalisation IHttpClientFactory incluait des chaînes de requête dans les messages transmis à ILogger, ce qui pouvait exposer par inadvertance des informations sensibles.
Nouveau comportement
Les messages transmis à ILogger ont désormais leur partie de requête remplacée par le caractère *, et la partie d’information utilisateur ainsi que le fragment ont été supprimés.
Type de changement avec rupture de compatibilité
Ce changement est un changement de comportement.
Raison du changement
La principale raison de ce changement est d’améliorer la confidentialité en réduisant le risque d’enregistrement par inadvertance d’informations sensibles. Les chaînes de requête contiennent souvent des données sensibles, et le fait de ne pas les inclure dans les journaux par défaut aide à protéger ces informations. Pour que l’implémentation soit simple et efficace, les informations utilisateur et les parties fragmentées sont également nettoyées.
Action recommandée
Si votre application repose sur la journalisation des paramètres de requête et que vous êtes certain que cela ne présente aucun risque, vous pouvez désactiver globalement le masquage des URI en définissant un commutateur AppContext de l’une des trois manières suivantes. L’option ignore tout masquage ; les URI sont donc enregistrées telles quelles, y compris la chaîne de requête, les informations utilisateur et le fragment.
Dans le fichier projet.
<ItemGroup> <RuntimeHostConfigurationOption Include="System.Net.Http.DisableUriRedaction" Value="true" /> </ItemGroup>Dans le fichier runtimeconfig.json.
{ "runtimeOptions": { "configProperties": { "System.Net.Http.DisableUriRedaction": true } } }Via une variable d’environnement.
Définissez
DOTNET_SYSTEM_NET_HTTP_DISABLEURIREDACTIONsurtrueou 1.
Sinon, aucune action n’est requise et le comportement par défaut permet d’améliorer les aspects de confidentialité de votre application.
Remarque
Cette option ignore également le masquage des URI dans les événements HttpClient EventSource. Pour plus d’informations, consultez la rédaction d’URI dans les événements HttpClient EventSource.