Internet Explorer non supporta nomi utente e password negli indirizzi del sito Web (URL HTTP o HTTPS)

Avviso

L'applicazione desktop Internet Explorer 11, ritirata e fuori supporto, è stata disabilitata in modo permanente tramite un aggiornamento di Microsoft Edge su alcune versioni di Windows 10. Per altre informazioni, vedere Domande frequenti sul ritiro delle app desktop di Internet Explorer 11.

Questo articolo ha lo scopo di informare gli amministratori del sito Web e i professionisti IT sul comportamento di Internet Explorer quando le informazioni utente sono incluse in un indirizzo del sito Web (HTTP o URL HTTPS).

Versione originale del prodotto: Internet Explorer
Numero KB originale: 834489

Riepilogo

Per impostazione predefinita, le versioni di Internet Explorer rilasciate a partire dal rilascio dell'aggiornamento della sicurezza 832894 non supportano la gestione di nomi utente e password in HTTP e HTTP con URL SSL (Secure Sockets Layer) o HTTPS. La sintassi dell'URL seguente non è supportata in Internet Explorer o in Esplora risorse:

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

Questo articolo ha lo scopo di notificare il comportamento predefinito di Internet Explorer. Se si includono informazioni utente in URL HTTP o HTTPS, è consigliabile esplorare le soluzioni alternative descritte in questo articolo.

Informazioni complementari

Le versioni da 3.0 a 6.0 di Internet Explorer supportano la sintassi seguente per GLI URL HTTP o HTTPS:

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

È possibile usare questa sintassi URL per inviare automaticamente informazioni utente a un sito Web che supporta il metodo di autenticazione di base.

Un utente malintenzionato potrebbe usare questa sintassi URL per creare un collegamento ipertestuale che sembra aprire un sito Web legittimo, ma che in realtà apre un sito Web ingannevole (contraffatto). Ad esempio, l'URL seguente viene aperto http://www.wingtiptoys.com ma viene effettivamente aperto http://example.com:

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

Nota

In questo caso, Internet Explorer 6 Service Pack 1 (SP1) e Internet Explorer 6 per Microsoft Windows Server 2003 vengono visualizzati http://example.com solo nella barra degli indirizzi. Tuttavia, le versioni precedenti di Internet Explorer vengono visualizzate http://www.wingtiptoys.com@example.com nella barra degli indirizzi.

Inoltre, gli utenti malintenzionati possono usare questa sintassi URL insieme ad altri metodi per creare un collegamento a un sito Web ingannevole (spoofed) che visualizza l'URL di un sito Web legittimo nella barra di stato, nella barra degli indirizzi e nella barra del titolo di tutte le versioni di Internet Explorer. Per altre informazioni su questo problema, fare clic sul numero dell'articolo 833786 per proteggersi da siti Web ingannevoli (contraffatti) e da collegamenti ipertestuali dannosi.

Spiegazione della modifica nel comportamento predefinito

Per attenuare i problemi illustrati nella sezione Informazioni in background , Internet Explorer e Windows Explorer non supportano più la gestione degli URL HTTP e HTTPS di questo modulo. Windows Explorer e Internet Explorer non aprono siti HTTP o HTTPS usando un URL che include informazioni utente. Per impostazione predefinita, se le informazioni utente sono incluse in un URL HTTP o HTTPS, viene visualizzata una pagina Web con il titolo seguente:

Errore di sintassi non valido.

Nota

Questa modifica del comportamento predefinito non influisce su altri protocolli.

Questa modifica del comportamento predefinito viene implementata anche dagli aggiornamenti della sicurezza, dai Service Pack e dalle versioni di Internet Explorer rilasciate a partire dal rilascio dell'aggiornamento della sicurezza 832894.

Soluzioni alternative per gli utenti

  1. URL aperti dagli utenti che digitano l'URL nella barra degli indirizzi o fanno clic su un collegamento

    Se gli utenti digitano in genere URL HTTP o HTTPS che includono informazioni utente nella barra degli indirizzi o fanno clic su collegamenti che includono informazioni utente in URL HTTP o HTTPS, è possibile aggirare questa nuova funzionalità in Internet Explorer in due modi:

    • Non includere informazioni utente negli URL HTTP o HTTPS.
    • Indicare agli utenti di non includere le informazioni utente quando digitano URL HTTP o HTTPS.

    Se il sito Web usa il metodo di autenticazione di base, Internet Explorer richiede automaticamente agli utenti un nome utente e una password. In alcuni casi, gli utenti possono fare clic sulla casella Memorizza la password nella finestra di dialogo per salvare le credenziali per le visite successive al sito Web.

Soluzioni alternative per sviluppatori di applicazioni e siti Web

  1. URL aperti da oggetti che chiamano funzioni WinInet o Urlmon

    Per gli oggetti che usano un URL HTTP o HTTPS che include informazioni utente quando chiamano una funzione WinInet o Urlmon, ad esempio InternetOpenURL, riscrivere l'oggetto per utilizzare uno dei metodi seguenti per inviare informazioni utente al sito Web:

    • Usare la funzione InternetSetOption e includere i flag di opzione seguenti:
      • INTERNET_OPTION_USERNAME
      • INTERNET_OPTION_PASSWORD

    Nota

    Per questi flag, l'opzione InternetSetOption deve avere un handle restituito dalla funzione InternetConnect. Pertanto, se l'applicazione usa la funzione InternetOpenUrl, modificare l'applicazione in modo che usi le funzioni WinInet InternetConnect, HttpOpenRequest e HttpSendRequest.

    Per altre informazioni su come usare queste funzioni, visitare i seguenti siti Web Microsoft:

    Per altre informazioni su come usare l'interfaccia IAuthenticate , visitare il seguente sito Web Microsoft:

    Nota

    Con questa soluzione alternativa è possibile aprire i siti Web reindirizzati dalla tecnica di spoofing degli URL. Viene visualizzato l'intero URL, incluso il percorso reindirizzato.

    Ad esempio, viene visualizzato l'URL seguente:

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

    L'utente arriva ancora al sito Web reindirizzato. In questo esempio l'utente arriva a http://www.example.com.

  2. URL aperti da uno script che usa le credenziali per la gestione dello stato

    Se si includono URL HTTP o HTTPS che contengono informazioni utente nel codice di scripting, per gestire le informazioni sullo stato, modificare il codice di scripting in modo che usi i cookie anziché le informazioni dell'utente. Per altre informazioni su come usare i cookie per gestire le informazioni sullo stato, vedere Meccanismo di gestione dello stato HTTP.

    Per un esempio di come usare Visual Basic per leggere e scrivere cookie HTTP in un programma Web ASP.NET, vedere Classe HttpCookie.

Come disabilitare il nuovo comportamento o usarlo in altri programmi

È possibile impostare i valori del Registro di sistema per usare questo nuovo comportamento in altri programmi che ospitano il controllo Web browser o per disabilitare questo nuovo comportamento per Windows Explorer e Internet Explorer.

  1. In che modo i programmi che ospitano il controllo Web browser possono usare questo nuovo comportamento predefinito per gestire le informazioni utente in HTTP o negli URL HTTPS

    Per impostazione predefinita, questo nuovo comportamento predefinito per la gestione delle informazioni utente negli URL HTTP o HTTPS si applica solo a Windows Explorer e Internet Explorer. Per usare questo nuovo comportamento in altri programmi che ospitano il controllo Web browser, creare un valore DWORD denominato SampleApp.exe, dove SampleApp.exe è il nome del file eseguibile che esegue il programma. Impostare i dati del valore DWORD su 1 in una delle chiavi del Registro di sistema seguenti.

    • Per tutti gli utenti del programma, impostare il valore nella chiave del Registro di sistema seguente:

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

    • Solo per l'utente corrente del programma, impostare il valore nella chiave del Registro di sistema seguente:

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

  2. Come disabilitare il nuovo comportamento predefinito per la gestione delle informazioni utente negli URL HTTP o HTTPS

    Per disabilitare il nuovo comportamento predefinito in Windows Explorer e Internet Explorer, creare iexplore.exe eexplorer.exe valori DWORD in una delle chiavi del Registro di sistema seguenti e impostarne i dati valore su 0.

    • Per tutti gli utenti del programma, impostare il valore nella chiave del Registro di sistema seguente:

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

    • Solo per l'utente corrente del programma, impostare il valore nella chiave del Registro di sistema seguente:

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

Riferimenti

Per una spiegazione della sintassi URL standard per URL HTTP o HTTPS, visitare i seguenti siti Web IETF (Internet Engineering Task Force):

Microsoft fornisce informazioni di contatto di terze parti allo scopo di facilitare l'individuazione del supporto tecnico. Queste informazioni di contatto sono soggette a modifica senza preavviso. Microsoft non garantisce la precisione delle informazioni di contatto di terzi.