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


Internet Explorer не поддерживает имена пользователей и пароли на адресах веб-сайта (URL-адреса HTTP или HTTPS)

Предупреждение

Устаревшее и не поддерживаемое классическое приложение Internet Explorer 11 было окончательно отключено путем обновления Microsoft Edge в некоторых версиях Windows 10. Дополнительные сведения см. в разделе Часто задаваемые вопросы о прекращении поддержки программы для настольных компьютеров Internet Explorer 11.

Эта статья предназначена для уведомления администраторов веб-сайтов и ИТ-специалистов о поведении Internet Explorer, если сведения о пользователе включены в адрес веб-сайта (HTTP или HTTPS-URL-адрес).

Исходная версия продукта: Internet Explorer
Исходный номер базы знаний: 834489

Итоги

По умолчанию версии Internet Explorer, выпущенные начиная с выпуска обновления системы безопасности, 832894 не поддерживают обработку имен пользователей и паролей в HTTP и HTTP с помощью ПРОТОКОЛА SSL или URL-адресов HTTPS. Следующий синтаксис URL-адреса не поддерживается в Internet Explorer или в Windows Explorer:

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

Эта статья предназначена для уведомления о стандартном поведении Internet Explorer. Если вы включаете сведения о пользователях в URL-адреса HTTP или HTTPS, рекомендуется изучить обходные пути, описанные в этой статье.

Справочная информация

Internet Explorer версии 3.0–6.0 поддерживает следующий синтаксис для URL-адресов HTTP или HTTPS:

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

Этот синтаксис URL-адреса можно использовать для автоматической отправки сведений о пользователе на веб-сайт, поддерживающий базовый метод проверки подлинности.

Злоумышленник может использовать этот синтаксис URL-адреса для создания гиперссылки, которая, как представляется, открывает законный веб-сайт, но на самом деле открывает обманчивый веб-сайт (spoofed). Например, URL-адрес http://www.wingtiptoys.com кажется открытым, но на самом деле открывается http://example.com.

http://[email protected]

Примечание.

В этом случае Internet Explorer 6 с пакетом обновления 1 (SP1) и Internet Explorer 6 для Microsoft Windows Server 2003 отображаются http://example.com только в адресной строке. Однако более ранние версии Internet Explorer отображают http://[email protected] в адресной строке.

Кроме того, злоумышленники могут использовать этот синтаксис URL-адреса вместе с другими методами для создания ссылки на обманчивый (поддельный) веб-сайт, который отображает URL-адрес законного веб-сайта в адресной строке, строке состояния и строке заголовка всех версий Internet Explorer. Дополнительные сведения по этой проблеме можно получить, щелкнув номер статьи 833786. Это поможет защитить себя от обманных (поддельных) веб-сайтов и вредоносных гиперссылок.

Объяснение изменения в поведении по умолчанию

Чтобы устранить проблемы, которые рассматриваются в разделе "Фоновая информация ", Internet Explorer и Windows Explorer больше не поддерживают обработку URL-адресов HTTP и HTTPS этой формы. Windows Explorer и Internet Explorer не открывают сайты HTTP или HTTPS с помощью URL-адреса, включающего сведения о пользователе. По умолчанию, если сведения о пользователе включены в URL-адрес HTTP или HTTPS, появится веб-страница со следующим заголовком:

Недопустимая синтаксическая ошибка.

Примечание.

Это изменение в поведении по умолчанию не влияет на другие протоколы.

Это изменение поведения по умолчанию также реализуется обновлениями системы безопасности, пакетами обновления и версиями Internet Explorer, выпущенными начиная с выпуска обновления безопасности 832894.

Обходные пути для пользователей

  1. URL-адреса, которые пользователи открывают, вводя URL-адрес в адресной строке или нажимая на ссылку

    Если пользователи обычно вводят URL-адреса HTTP или HTTPS, содержащие сведения о пользователях в адресной строке, или щелкают по ссылкам, содержащим сведения о пользователях в URL-адресах HTTP или HTTPS, вы можете обойти эту новую функциональность в Internet Explorer двумя способами:

    • Не включать сведения о пользователе в URL-адресах HTTP или HTTPS.
    • Указание пользователям не включать сведения о пользователе при вводе URL-адресов HTTP или HTTPS.

    Если веб-сайт использует базовый метод проверки подлинности, Internet Explorer автоматически запрашивает пользователям имя пользователя и пароль. В некоторых случаях пользователи могут щелкнуть поле "Запомнить пароль" в диалоговом окне, чтобы сохранить свои учетные данные для последующих посещений этого веб-сайта.

Обходные решения для разработчиков приложений и веб-сайтов

  1. URL-адреса, открытые объектами, вызывающими функции WinInet или Urlmon

    Для объектов, использующих HTTP или URL-адрес HTTPS, содержащий информацию о пользователе при вызове функции WinInet или Urlmon, например InternetOpenURL, перезапишите объект, чтобы использовать один из следующих методов для отправки информации о пользователе на веб-сайт.

    • Используйте функцию InternetSetOption и включите следующие флаги параметров:
      • INTERNET_OPTION_USERNAME
      • INTERNET_OPTION_PASSWORD

    Примечание.

    Для этих флагов параметр InternetSetOption должен иметь дескриптор, возвращаемый функцией InternetConnect. Таким образом, если приложение использует функцию InternetOpenUrl, измените приложение на использование функций InternetConnect, HttpOpenRequest и HttpSendRequest WinInet.

    Дополнительные сведения об использовании этих функций см. на следующих веб-сайтах Майкрософт:

    Дополнительные сведения об использовании интерфейса IAuthenticate см. на следующем веб-сайте Майкрософт:

    Примечание.

    Это обходное решение позволяет открывать веб-сайты, которые перенаправляются методом подмены URL. Появится весь URL-адрес, включая перенаправленное место назначения.

    Например, появляется следующий URL-адрес:

    http://[email protected]

    Пользователь по-прежнему прибывает на перенаправленный веб-сайт. В этом примере пользователь поступает в http://www.example.com.

  2. URL-адреса, открытые скриптом, использующим учетные данные для управления состоянием

    Если вы включаете URL-адреса HTTP или HTTPS, содержащие сведения о пользователях в коде скрипта, для управления сведениями о состоянии измените код скрипта на использование файлов cookie вместо сведений о пользователях. Для получения дополнительной информации об использовании файлов cookie для управления сведениями о состоянии, см. Механизм управления состоянием HTTP.

    Посмотреть пример использования языка Visual Basic для чтения и записи HTTP cookie в веб-программе ASP.NET можно в классе HttpCookie.

Как отключить новое поведение или использовать его в других программах

Вы можете задать значения реестра, чтобы использовать это новое поведение в других программах, в которых размещен элемент управления веб-браузером, или отключить это новое поведение для Windows Explorer и Internet Explorer.

  1. Как программы, на которых размещен элемент управления веб-браузером, могут использовать это новое поведение по умолчанию для обработки сведений пользователей в HTTP или URL-адресах HTTPS.

    По умолчанию это новое поведение по умолчанию для обработки сведений о пользователе в URL-адресах HTTP или HTTPS применяется только к Windows Explorer и Internet Explorer. Чтобы использовать это новое поведение в других программах, в которых размещен элемент управления веб-браузером, создайте значение DWORD с именем SampleApp.exe, где SampleApp.exe — имя исполняемого файла, запускающего программу. Установите для данных значения DWORD значение 1 в одном из следующих разделов реестра.

    • Для всех пользователей программы задайте значение в следующем разделе реестра:

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

    • Для текущего пользователя программы установите значение в следующем ключе реестра:

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

  2. Отключение нового поведения по умолчанию для обработки сведений о пользователе в URL-адресах HTTP или HTTPS

    Чтобы отключить новое поведение по умолчанию в Windows Explorer и Internet Explorer, создайте значения DWORD iexplore.exe и explorer.exe в одном из следующих разделов реестра и установите их данные значений в 0.

    • Для всех пользователей программы задайте значение в следующем разделе реестра:

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

    • Для текущего пользователя программы установите значение в следующем ключе реестра:

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

Ссылки

Дополнительные сведения о стандартном синтаксисе URL-адресов для URL-адресов HTTP или HTTPS см. на следующих веб-сайтах группы разработки Интернета (IETF):

Контактные данные сторонних организаций предоставлены в этой статье с целью помочь пользователям получить необходимую техническую поддержку. Эти данные могут быть изменены без предварительного уведомления. Корпорация Майкрософт не дает гарантий относительно правильности приведенных контактных данных сторонних производителей.