Compartilhar via


O Internet Explorer não oferece suporte a nomes de usuário e senhas em endereços de sites (URLs HTTP ou HTTPS)

Aviso

O aplicativo da área de trabalho do Internet Explorer 11, desativado e sem suporte, foi desativado permanentemente por meio de uma atualização do Microsoft Edge em certas versões do Windows 10. Para obter mais informações, consulte Perguntas frequentes sobre a desativação do aplicativo de área de trabalho do Internet Explorer 11.

Este artigo destina-se a notificar os administradores de sites e profissionais de TI sobre o comportamento do Internet Explorer quando as informações do usuário são incluídas em um endereço de site (URL HTTP ou HTTPS).

Versão original do produto: Internet Explorer
Número original do KB: 834489

Resumo

Por padrão, as versões do Internet Explorer lançadas a partir do lançamento do 832894 de atualização de segurança não oferecem suporte ao tratamento de nomes de usuário e senhas em HTTP e HTTP com SSL (Secure Sockets Layer) ou URLs HTTPS. A seguinte sintaxe de URL não é suportada no Internet Explorer ou no Windows Explorer:

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

Este artigo destina-se a notificá-lo sobre esse comportamento padrão do Internet Explorer. Se você incluir informações do usuário em URLs HTTP ou HTTPS, recomendamos que você explore as soluções alternativas descritas neste artigo.

Informações básicas

As versões 3.0 a 6.0 do Internet Explorer oferecem suporte à seguinte sintaxe para URLs HTTP ou HTTPS:

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

Você pode usar essa sintaxe de URL para enviar automaticamente informações do usuário para um site que ofereça suporte ao método de autenticação básico.

Um usuário mal-intencionado pode usar essa sintaxe de URL para criar um hiperlink que parece abrir um site legítimo, mas na verdade abre um site enganoso (falsificado). Por exemplo, o seguinte URL parece abrir http://www.wingtiptoys.com , mas na verdade abre http://example.com:

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

Observação

Nesse caso, o Internet Explorer 6 Service Pack 1 (SP1) e o Internet Explorer 6 para Microsoft Windows Server 2003 são exibidos http://example.com apenas na barra de endereços. No entanto, as versões anteriores do Internet Explorer exibem http://www.wingtiptoys.com@example.com na barra de endereços.

Além disso, usuários mal-intencionados podem usar essa sintaxe de URL junto com outros métodos para criar um link para um site enganoso (falsificado) que exibe a URL para um site legítimo na barra de status, na barra de endereços e na barra de título de todas as versões do Internet Explorer. Para obter mais informações sobre esse problema, clique no número do artigo 833786 para ajudar a se proteger contra sites enganosos (falsificados) e hiperlinks mal-intencionados.

Explicação da alteração no comportamento padrão

Para atenuar os problemas discutidos na seção Informações em segundo plano, o Internet Explorer e o Windows Explorer não dão mais suporte ao tratamento de URLs HTTP e HTTPS desse formulário. O Windows Explorer e o Internet Explorer não abrem sites HTTP ou HTTPS usando uma URL que inclua informações do usuário. Por padrão, se as informações do usuário forem incluídas em uma URL HTTP ou HTTPS, uma página da Web com o seguinte título será exibida:

Erro de sintaxe inválido.

Observação

Essa alteração no comportamento padrão não afeta outros protocolos.

Essa alteração no comportamento padrão também é implementada por atualizações de segurança, service packs e versões do Internet Explorer que foram lançadas a partir do lançamento da atualização de segurança 832894.

Soluções alternativas para os usuários

  1. URLs abertas por usuários que digitam a URL na barra de endereços ou clicam em um link

    Se os usuários normalmente digitam URLs HTTP ou HTTPS que incluem informações do usuário na barra de endereços ou clicam em links que incluem informações do usuário em URLs HTTP ou HTTPS, você pode contornar essa nova funcionalidade no Internet Explorer de duas maneiras:

    • Não inclua informações do usuário em URLs HTTP ou HTTPS.
    • Instrua os usuários a não incluir suas informações de usuário ao digitar URLs HTTP ou HTTPS.

    Se o site usar o método de autenticação básico, o Internet Explorer solicitará automaticamente aos usuários um nome de usuário e uma senha. Em alguns casos, os usuários podem clicar na caixa Lembrar minha senha na caixa de diálogo para salvar suas credenciais para visitas posteriores a esse site.

Soluções alternativas para desenvolvedores de aplicativos e sites

  1. URLs abertas por objetos que chamam funções WinInet ou Urlmon

    Para objetos que usam uma URL HTTP ou HTTPS que inclui informações do usuário quando chamam uma função WinInet ou Urlmon, como InternetOpenURL, reescreva o objeto para usar um dos seguintes métodos para enviar informações do usuário ao site:

    • Use a função InternetSetOption e inclua os seguintes sinalizadores de opção:
      • INTERNET_OPTION_USERNAME
      • INTERNET_OPTION_PASSWORD

    Observação

    Para esses sinalizadores, a opção InternetSetOption deve ter um identificador retornado pela função InternetConnect . Portanto, se o aplicativo usar a função InternetOpenUrl, modifique o aplicativo para usar as funções InternetConnect , HttpOpenRequest e HttpSendRequest WinInet .

    Para obter mais informações sobre como usar essas funções, visite os seguintes sites da Microsoft:

    Para obter mais informações sobre como usar a interface IAuthenticate , visite o seguinte site da Microsoft:

    Observação

    Com essa solução alternativa, você pode abrir sites que a técnica de falsificação de URL redireciona. O URL inteiro é exibido, incluindo o local redirecionado.

    Por exemplo, o seguinte URL é exibido:

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

    O usuário ainda chega ao site redirecionado. Neste exemplo, o usuário chega a http://www.example.com.

  2. URLs abertas por um script que usa credenciais para gerenciamento de estado

    Se você incluir URLs HTTP ou HTTPS que contenham informações do usuário em seu código de script, para gerenciar informações de estado, altere seu código de script para usar cookies em vez de informações do usuário. Para obter mais informações sobre como usar cookies para gerenciar informações de estado, consulte Mecanismo de gerenciamento de estado HTTP.

    Para ver um exemplo de como usar o Visual Basic para ler e gravar cookies HTTP em um programa Web ASP.NET, consulte Classe HttpCookie.

Como desativar o novo comportamento ou usá-lo em outros programas

Você pode definir valores do Registro para usar esse novo comportamento em outros programas que hospedam o controle do navegador da Web ou para desabilitar esse novo comportamento para o Windows Explorer e o Internet Explorer.

  1. Como os programas que hospedam o controle do navegador da Web podem usar esse novo comportamento padrão para lidar com informações do usuário em HTTP ou em URLs HTTPS

    Por padrão, esse novo comportamento padrão para lidar com informações do usuário em URLs HTTP ou HTTPS se aplica somente ao Windows Explorer e ao Internet Explorer. Para usar esse novo comportamento em outros programas que hospedam o controle do navegador da Web, crie um valor DWORD chamado SampleApp.exe, em que SampleApp.exe é o nome do arquivo executável que executa o programa. Defina os dados do valor DWORD como 1 em uma das chaves do Registro a seguir.

    • Para todos os usuários do programa, defina o valor na seguinte chave do Registro:

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

    • Somente para o usuário atual do programa, defina o valor na seguinte chave do Registro:

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

  2. Como desativar o novo comportamento padrão para lidar com informações do usuário em URLs HTTP ou HTTPS

    Para desabilitar o novo comportamento padrão no Windows Explorer e no Internet Explorer, crie valores DWORD para iexplore.exe e explorer.exe em uma das chaves do Registro a seguir e defina o valor desses dados como 0.

    • Para todos os usuários do programa, defina o valor na seguinte chave do Registro:

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

    • Somente para o usuário atual do programa, defina o valor na seguinte chave do Registro:

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

Referências

Para obter uma explicação da sintaxe de URL padrão para URLs HTTP ou HTTPS, visite os seguintes sites da IETF (Internet Engineering Task Force):

A Microsoft fornece informações de contato de terceiros para ajudá-lo a encontrar suporte técnico. Essas informações de contato podem ser alteradas sem aviso prévio. A Microsoft não garante a precisão dessas informações de contato de terceiros.