Internet Explorer ne prend pas en charge les noms d’utilisateur et les mots de passe dans les adresses de site Web (URL HTTP ou HTTPS)

Avertissement

L’application de bureau Internet Explorer 11, mise hors service et dont le support a pris fin, a été désactivée définitivement via une mise à jour Microsoft Edge sur certaines versions de Windows 10. Pour plus d’informations, consultez le forum aux questions sur la mise hors service de l’application de bureau Internet Explorer 11.

Cet article est destiné à informer les administrateurs de site Web et les professionnels de l’informatique du comportement des Explorer Internet lorsque des informations utilisateur sont incluses dans une adresse de site Web (URL HTTP ou HTTPS).

Version d’origine du produit : Internet Explorer
Numéro de la base de connaissances d’origine : 834489

Résumé

Par défaut, les versions d’Internet Explorer publiées à partir de la mise à jour de sécurité 832894 ne prennent pas en charge la gestion des noms d’utilisateur et des mots de passe dans HTTP et HTTP avec SSL (Secure Sockets Layer) ou des URL HTTPS. La syntaxe d’URL suivante n’est pas prise en charge dans internet Explorer ou dans Windows Explorer :

http(s)://username:password@server/resource.ext

Cet article est destiné à vous informer de ce comportement par défaut de la Explorer Internet. Si vous incluez des informations utilisateur dans des URL HTTP ou HTTPS, nous vous recommandons d’explorer les solutions de contournement décrites dans cet article.

Informations contextuelles

Les versions 3.0 à 6.0 d’Internet Explorer prennent en charge la syntaxe suivante pour les URL HTTP ou HTTPS :

http(s)://username:password@server/resource.ext

Vous pouvez utiliser cette syntaxe d’URL pour envoyer automatiquement des informations utilisateur à un site Web qui prend en charge la méthode d’authentification de base.

Un utilisateur malveillant peut utiliser cette syntaxe d’URL pour créer un lien hypertexte qui semble ouvrir un site Web légitime, mais qui ouvre en fait un site Web trompeur (usurpé). Par exemple, l’URL suivante semble s’ouvrir http://www.wingtiptoys.com , mais s’ouvre http://example.comréellement :

http://www.wingtiptoys.com@example.com

Remarque

Dans ce cas, Internet Explorer 6 Service Pack 1 (SP1) et Internet Explorer 6 pour Microsoft Windows Server 2003 s’affichent http://example.com uniquement dans la barre d’adresse. Toutefois, les versions antérieures d’Internet Explorer s’affichent http://www.wingtiptoys.com@example.com dans la barre d’adresses.

En outre, les utilisateurs malveillants peuvent utiliser cette syntaxe d’URL avec d’autres méthodes pour créer un lien vers un site Web trompeur (usurpé) qui affiche l’URL d’un site Web légitime dans la barre d’état, la barre d’adresse et la barre de titre de toutes les versions d’Internet Explorer. Pour plus d’informations sur ce problème, cliquez sur le numéro d’article 833786 pour vous protéger contre les sites Web trompeurs (usurpés) et les liens hypertexte malveillants.

Explication de la modification du comportement par défaut

Pour atténuer les problèmes abordés dans la section Informations d’arrière-plan, Internet Explorer et Windows Explorer ne prennent plus en charge la gestion des URL HTTP et HTTPS de ce formulaire. Windows Explorer et les Explorer Internet n’ouvrent pas les sites HTTP ou HTTPS à l’aide d’une URL qui inclut des informations utilisateur. Par défaut, si les informations utilisateur sont incluses dans une URL HTTP ou HTTPS, une page Web avec le titre suivant s’affiche :

Erreur de syntaxe non valide.

Remarque

Cette modification du comportement par défaut n’affecte pas les autres protocoles.

Ce changement de comportement par défaut est également implémenté par les mises à jour de sécurité, les Service Packs et les versions des Explorer Internet publiées à compter de la publication de la mise à jour de sécurité 832894.

Solutions de contournement pour les utilisateurs

  1. URL ouvertes par les utilisateurs qui tapent l’URL dans la barre d’adresse ou cliquent sur un lien

    Si les utilisateurs tapent généralement des URL HTTP ou HTTPS qui incluent des informations utilisateur dans la barre d’adresse, ou cliquez sur des liens qui incluent des informations utilisateur dans des URL HTTP ou HTTPS, vous pouvez contourner cette nouvelle fonctionnalité dans Internet Explorer de deux manières :

    • N’incluez pas d’informations utilisateur dans les URL HTTP ou HTTPS.
    • Demandez aux utilisateurs de ne pas inclure leurs informations utilisateur lorsqu’ils tapent des URL HTTP ou HTTPS.

    Si le site Web utilise la méthode d’authentification de base, Internet Explorer invite automatiquement les utilisateurs à entrer un nom d’utilisateur et un mot de passe. Dans certains cas, les utilisateurs peuvent cliquer sur la zone Mémoriser mon mot de passe dans la boîte de dialogue pour enregistrer leurs informations d’identification pour des visites ultérieures sur ce site Web.

Solutions de contournement pour les développeurs d’applications et de sites web

  1. URL ouvertes par des objets qui appellent des fonctions WinInet ou Urlmon

    Pour les objets qui utilisent une URL HTTP ou HTTPS qui inclut des informations utilisateur lorsqu’ils appellent une fonction WinInet ou Urlmon telle que InternetOpenURL, réécrire l’objet afin d’utiliser l’une des méthodes suivantes pour envoyer des informations utilisateur au site Web :

    • Utilisez la fonction InternetSetOption et incluez les indicateurs d’option suivants :
      • INTERNET_OPTION_USERNAME
      • INTERNET_OPTION_PASSWORD

    Remarque

    Pour ces indicateurs, l’option InternetSetOption doit avoir un handle retourné par la fonction InternetConnect. Par conséquent, si l’application utilise la fonction InternetOpenUrl, modifiez l’application pour utiliser les fonctions WinInet InternetConnect, HttpOpenRequest et HttpSendRequest.

    Pour plus d’informations sur l’utilisation de ces fonctions, visitez les sites Web Microsoft suivants :

    Pour plus d’informations sur l’utilisation de l’interface IAuthenticate , visitez le site web Microsoft suivant :

    Remarque

    Avec cette solution de contournement, vous pouvez ouvrir des sites Web que la technique d’usurpation d’URL redirige. L’URL entière s’affiche, y compris l’emplacement redirigé.

    Par exemple, l’URL suivante s’affiche :

    http://www.wingtiptoys.com@www.example.com

    L’utilisateur arrive toujours au site Web redirigé. Dans cet exemple, l’utilisateur arrive à http://www.example.com.

  2. URL ouvertes par un script qui utilise des informations d’identification pour la gestion de l’état

    Si vous incluez des URL HTTP ou HTTPS qui contiennent des informations utilisateur dans votre code de script, pour gérer les informations d’état, modifiez votre code de script pour utiliser des cookies plutôt que des informations utilisateur. Pour plus d’informations sur l’utilisation des cookies pour gérer les informations d’état, consultez Http State Management Mechanism.

    Pour voir un exemple d’utilisation de Visual Basic pour lire et écrire des cookies HTTP dans un programme web ASP.NET, consultez HttpCookie Class.

Comment désactiver le nouveau comportement ou l’utiliser dans d’autres programmes

Vous pouvez définir des valeurs de Registre pour utiliser ce nouveau comportement dans d’autres programmes qui hébergent le contrôle de navigateur Web ou pour désactiver ce nouveau comportement pour windows Explorer et les Explorer Internet.

  1. Comment les programmes qui hébergent le contrôle de navigateur web peuvent utiliser ce nouveau comportement par défaut pour gérer les informations utilisateur dans HTTP ou dans les URL HTTPS

    Par défaut, ce nouveau comportement par défaut pour la gestion des informations utilisateur dans les URL HTTP ou HTTPS s’applique uniquement aux Explorer Windows et aux Explorer Internet. Pour utiliser ce nouveau comportement dans d’autres programmes qui hébergent le contrôle de navigateur web, créez une valeur DWORD nommée SampleApp.exe, où SampleApp.exe est le nom du fichier exécutable qui exécute le programme. Définissez les données de valeur de la valeur DWORD sur 1 dans l’une des clés de Registre suivantes.

    • Pour tous les utilisateurs du programme, définissez la valeur dans la clé de Registre suivante :

      HKEY_LOCAL_MACHINE\Software\Microsoft\InternetExplorer\Main\FeatureControl\FEATURE_HTTP_USERNAME_PASSWORD_DISABLE

    • Pour l’utilisateur actuel du programme uniquement, définissez la valeur dans la clé de Registre suivante :

      HKEY_CURRENT_USER\Software\Microsoft\InternetExplorer\Main\FeatureControl\FEATURE_HTTP_USERNAME_PASSWORD_DISABLE

  2. Comment désactiver le nouveau comportement par défaut pour la gestion des informations utilisateur dans les URL HTTP ou HTTPS

    Pour désactiver le nouveau comportement par défaut dans Windows Explorer et Internet Explorer, créez iexplore.exe et explorer.exe valeurs DWORD dans l’une des clés de Registre suivantes et définissez leurs données de valeur sur 0.

    • Pour tous les utilisateurs du programme, définissez la valeur dans la clé de Registre suivante :

      HKEY_LOCAL_MACHINE\Software\Microsoft\InternetExplorer\Main\FeatureControl\FEATURE_HTTP_USERNAME_PASSWORD_DISABLE

    • Pour l’utilisateur actuel du programme uniquement, définissez la valeur dans la clé de Registre suivante :

      HKEY_CURRENT_USER\Software\Microsoft\InternetExplorer\Main\FeatureControl\FEATURE_HTTP_USERNAME_PASSWORD_DISABLE

References

Pour obtenir une explication de la syntaxe d’URL standard pour les URL HTTP ou HTTPS, visitez les sites Web IETF (Internet Engineering Task Force) suivants :

Microsoft fournit des informations de contact de sociétés tierces afin de vous aider à obtenir un support technique. Ces informations de contact peuvent être modifiées sans préavis. Microsoft ne garantit pas l’exactitude des informations concernant les sociétés tierces.