Нажмите "Enter", чтобы перейти к содержанию

Логин и пароль в адресной строке http: Синтаксис URL-адреса не содержит имя пользователя и пароль — Browsers

Содержание

Синтаксис URL-адреса не содержит имя пользователя и пароль — Browsers

Twitter LinkedIn Facebook Адрес электронной почты

  • Статья

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

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

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

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

Аннотация

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

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-адреса для создания гиперссылки, которая открывает допустимый веб-сайт, но фактически открывает обманчивый (подделанный) веб-сайт. Например, следующий 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://www. [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, измените приложение, чтобы оно использовало функции WinInet InternetConnect , HttpOpenRequest и HttpSendRequest.

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

    • Функция InternetConnectA
    • Функция HttpOpenRequestA
    • Функция HttpSendRequestA

    Дополнительные сведения об использовании интерфейса IAuthenticate

    см. на следующем веб-сайте Майкрософт:

    • Интерфейс IAuthenticate

    Примечание.

    С помощью этого обходного решения можно открывать веб-сайты, которые перенаправляет метод спуфингом URL-адресов. Отобразится весь URL-адрес, включая перенаправленное расположение.

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

    http://[email protected]

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

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

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

    Дополнительные сведения об использовании файлов cookie для управления сведениями о состоянии см. в разделе Механизм управления состоянием HTTP.

    Пример использования Visual Basic для чтения и записи файлов cookie HTTP в веб-программе 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, создайте iexplore.exe и explorer.exe значения DWORD в одном из следующих разделов реестра и задайте для них значение 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:

  • RFC 1738: универсальные указатели ресурсов (URL-адрес)
  • RFC 2396: универсальные идентификаторы ресурсов (URI): универсальный синтаксис
  • RFC 2616: протокол передачи гипертекста —HTTP/1.1

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

HTTP аутентификация — HTTP | MDN

HTTP предоставляет набор инструментов для котнроля доступа к ресурсам и аутентификации. Самой распространённой схемой HTTP аутентификации является «Базовая» (Basic) аутентификация. Данное руководство описывает основные возможности HTTP аутентификации и показывает способы ограничения доступа к вашему серверу с её использованием.

RFC 7235 определяет средства HTTP аутентификации, которые может использовать сервер для запроса (en-US) у клиента аутентификационной информации. Сценарий запрос-ответ подразумевает, что вначале сервер отвечает клиенту со статусом 401 (Unauthorized) и предоставляет информацию о порядке авторизации через заголовок WWW-Authenticate (en-US), содержащий хотя бы один метод авторизации. Клиент, который хочет аутентифицироваться, может сделать это, включив в следующий запрос заголовок Authorization с требуемыми данными. Обычно, клиент отображает пользователю запрос (prompt) пароля, и после получения ответа отправляет запрос (request) с пользовательскими данными в заголовке Authorization.

В случае базовой авторизации как на иллюстрации выше, обмен должен вестись через HTTPS (TLS) соединение, чтобы обеспечить защищённость.

Прокси-аутентификация

Этот же механизм запроса и ответа может быть использован для прокси-аутентификации. В таком случае ответ посылает промежуточный прокси-сервер, который требует авторизации. Поскольку обе формы аутентификации могут сосуществовать, для них используются разные заголовки и коды статуса ответа. В случае с прокси, статус-код запроса 407 (Proxy Authentication Required) и заголовок Proxy-Authenticate (en-US), который содержит хотя бы один запрос, относящийся к прокси, а для передачи учётных данных прокси-серверу используется заголовок Proxy-Authorization (en-US).

Доступ запрещён

Если (прокси) сервер получает корректные учётные данные, но они не подходят для доступа к данному ресурсу, сервер должен отправить ответ со статус кодом 403 Forbidden. В отличии от статус кода 401 Unauthorized или 407 Proxy Authentication Required, аутентификация для этого пользователя не возможна.

Во всех случаях сервер может предпочесть возвращать код состояния 404 Not Found, чтобы скрыть существование страницы для пользователя без соответствующих привилегий или не прошедшего правильную аутентификацию.

Аутентификация cross-origin изображений

Аутентификация с помощью изображений, загружаемых из разных источников, была до недавнего времени потенциальной дырой в безопасности. Начиная с Firefox 59 (en-US), изображения, загружаемые из разных источников в текущий документ, больше не запускают диалог HTTP-аутентификации баг 1423146, предотвращая тем самым кражу пользовательских данных (если нарушители смогли встроить это изображение в страницу).

Кодировка символов HTTP аутентификации

Браузеры используют кодировку utf-8 для имени пользователя и пароля. Firefox использовал ISO-8859-1, но она была заменена utf-8 с целью уравнения с другими браузерами, а также чтобы избежать потенциальных проблем (таких как баг 1419658).

заголовки

WWW-Aутентификации и Прокси-Аутентификации

WWW-Authenticate (en-US) и Proxy-Authenticate (en-US) заголовки ответа которые определяют методы, что следует использовать для получения доступа к ресурсу. Они должны указывать, какую схему аутентификации использовать, чтобы клиент, желающий авторизоваться, знал, какие данные предоставить. Синтаксис для этих заголовков следующий:

WWW-Authenticate: <type> realm=<realm>
Proxy-Authenticate: <type> realm=<realm>

Здесь, <type> — это схема аутентификации («Basic» (базовая) это наиболее распространённая, представленная ниже). realm используется для описания защищённой области или для индикации области защиты. Это может быть сообщение типа «Access to the staging site» или подобное, чтобы пользователь знал, к какой области он пытается получить доступ.

заголовки

Авторизации и Прокси-Авторизации

Заголовки запросов Authorization и Proxy-Authorization (en-US) содержат учётные данные для аутентификации агента пользователя (User Agent) на (прокси) сервере. Здесь снова требуется <type> за которым следуют учётные данные, которые могут быть закодированы или зашифрованы в зависимости от того, какая схема аутентификации используется.

Authorization: <type> <credentials>
Proxy-Authorization: <type> <credentials>

Схемы Аутентификации

Общая структура HTTP аутентификации является основной для ряда схем аутентификации. Schemes can differ in security strength and in their availability in client or server software.

IANA поддерживат список схем аутентификации, однако существуют и другие схемы предлагаемые хост-сервисами, например, Amazon AWS.

Некоторые распространенные схемы аутентификации включают:

  • Basic (смотреть RFC 7617, зашифрованные с помощью base64 учётные данные. Больше информации смотреть снизу.),
  • Bearer (смотреть RFC 6750, bearer токены для доступа OAuth 2.0-защищённых ресурсов),
  • Digest (смотреть RFC 7616, Firefox 93 и более поздние версии поддерживают шифрование SHA-256. Предыдущие версии поддерживают только хэширование MD5 (не рекомендуется). ),
  • HOBA (смотреть RFC 7486, Секция 3, HTTP Origin-Bound Authentication, digital-signature-based),
  • Mutual (смотреть draft-ietf-httpauth-mutual),
  • AWS4-HMAC-SHA256 (смотреть AWS документацию).

Схемы могут различаться по степени безопасности и по их доступности в клиентском или серверном программном обеспечении.

«Базовая» (Basic) схема аутентификации обеспечивает очень низкую безопасность, но широко поддерживается и проста в настройке. Более подробно она представлена ниже.

«Базовая» схема HTTP-аутентификации определена в RFC 7617, которая передаёт учётные данные в виде пар пользователь ID/пароль (user ID/password), закодированных с использованием base64.

Безопасность базовой аутентификации

Поскольку идентификатор (ID) пользователя и пароль передаются по сети в виде открытого текста (он кодируется в base64, однако base64 — это обратимое кодирование), схема базовой аутентификации не является безопасной. При базовой аутентификации следует использовать HTTPS/TLS. Без этих дополнительных улучшений безопасности, базовая аутентификация не должна использоваться для защиты конфиденциальной или ценной информации.

Ограничение доступа с помощью Apache и базовой аутентификации

Чтобы защитить паролем каталог на сервере Apache, вам понадобятся файлы . htaccess и .htpasswd.

Файл .htaccess обычно выглядит так:

AuthType Basic
AuthName "Access to the staging site"
AuthUserFile /path/to/.htpasswd
Require valid-user

Файл .htaccess ссылается на файл .htpasswd, в котором каждая строка состоит из имени пользователя и пароля, разделенных двоеточием («:»). Вы не можете видеть фактические пароли, поскольку они хешируются (в данном случае с помощью md5). Учтите, что вы можете назвать свой файл .htpasswd по-другому, если хотите, но помните, что этот файл не должен быть доступен никому. (Apache обычно настроен на предотвращение доступа к файлам .ht*).

aladdin:$apr1$ZjTqBB3f$IF9gdYAGlMrs2fuINjHsz.
user2:$apr1$O04r.y2H$/vEkesPhVInBByJUkXitA/

Ограничение доступа с помощью nginx и базовой аутентификации

Для nginx, вам потребуется указать местоположение, которое вы собираетесь защитить и директиву auth_basic, которая задаёт имя защищённой паролем области. Директива auth_basic_user_file затем указывает на файл .htpasswd, содержащий зашифрованные учётные данные пользователя, как и в примере Apache выше.

location /status {
    auth_basic           "Access to the staging site";
    auth_basic_user_file /etc/apache2/.htpasswd;
}

Доступ используя учётные данные в URL-адресе

Многие клиенты также позволяют избежать запроса на вход в систему, используя закодированный URL, содержащий имя пользователя и пароль, как показано ниже:

https://username:[email protected]/

Использование таких URL-адресов устарело. В браузере Chrome в URL-адресах часть username:password@ даже вырезана из соображений безопасности. В браузере Firefox, проверяется, действительно ли сайт требует аутентификации и если нет, тогда Firefox предупредит пользователя запросом (prompt) «You are about to log in to the site “www.example.com” with the username “username”, but the website does not require authentication. This may be an attempt to trick you.».

  • WWW-Authenticate (en-US)
  • Authorization
  • Proxy-Authorization (en-US)
  • Proxy-Authenticate (en-US)
  • 401, 403, 407

Found a content problem with this page?

  • Edit the page on GitHub.
  • Report the content issue.
  • View the source on GitHub.

Want to get more involved?

Learn how to contribute.

This page was last modified on by MDN contributors.

Можно ли передать пользователя/пароль для базовой HTTP-аутентификации в параметрах URL?

спросил

Изменено 3 года, 4 месяца назад

Просмотрено 1,3 млн раз

Я считаю, что это невозможно, но кто-то из моих знакомых настаивал на том, что это работает. Я даже не знаю, какие параметры попробовать, и я нигде не нашел этого в документации.

Я попробовал http://myserver.com/~user=username&password=mypassword, но это не работает.

Можете ли вы подтвердить, что на самом деле невозможно передать пользователя/пароль через параметры HTTP (GET или POST)?

  • аутентификация
  • http
  • http-основная аутентификация

5

Действительно невозможно передать имя пользователя и пароль через параметры запроса в стандартной аутентификации HTTP. Вместо этого вы используете специальный формат URL, например: http://username:[email protected]/ — это отправляет учетные данные в стандартном HTTP-заголовке «Авторизация».

Возможно, тот, с кем вы разговаривали, думал о специальном модуле или коде, который просматривал параметры запроса и проверял учетные данные. Это не стандартная HTTP-аутентификация, это особенность конкретного приложения.

21

http://username:[email protected] будет работать для FireFox, Chrome, Safari, НО не для IE.

База знаний Майкрософт

7

Передача параметров базовой аутентификации в URL не рекомендуется

Для этого существует поле заголовка Authorization, проверьте его здесь: http header list

Как им пользоваться написано здесь: Базовая аутентификация доступа

Там вы также можете прочитать, что, хотя она по-прежнему поддерживается некоторыми браузерами, предлагаемое решение добавления основных учетных данных авторизации в URL-адрес не рекомендуется.

Прочтите также главу 4.1 в RFC 2617 — HTTP-аутентификация, чтобы узнать, почему НЕ следует использовать обычную аутентификацию.


Передача параметров проверки подлинности в строке запроса

При использовании OAuth или других служб проверки подлинности вы часто также можете отправить свой токен доступа в строке запроса, а не в заголовке авторизации, например:

 GET https:// www. example.com/api/v1/users/1?access_token=1234567890abcdefghijklmnopqrstuvwxyzABCD
 

7

В вашем примере URL-адрес http://myserver.com/ Будет:

http://username:[email protected]/myserver.com/

По состоянию на 19.12.2019 я протестировал это, и оно работает для Хром Fire Fox Safari

Но не для IE, которые больше не поддерживают базовую аутентификацию. Я реализовал это с помощью SSRS 2017, который скрывает имя пользователя и пароль. Я бы порекомендовал вам проверить это с помощью браузера инкогнито. Протестируйте с паролем и без него в разных браузерах Incognito. Тот, у кого нет пароля, должен попросить вас ввести пароль.

1

(очевидно) можно отправить любую строку в параметрах GET, хотя не рекомендуется отправлять логин и пароль, поскольку они могут сделать их хорошо заметными, особенно если они не в AJAX-запросе.

Однако вам нужно будет затем закодировать страницу сервера, чтобы извлечь логин и пароль, а затем проверить и использовать их любым способом.

Синтаксис URL не содержит имя пользователя и пароль — Браузеры

Редактировать

Твиттер LinkedIn Фейсбук Электронная почта

  • Статья

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

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

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

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

Сводка

По умолчанию версии Internet Explorer, выпущенные начиная с выпуска обновления для системы безопасности 832894, не поддерживают обработку имен пользователей и паролей. в HTTP и HTTP с URL-адресами Secure Sockets Layer (SSL) или HTTPS. Следующий синтаксис URL-адреса не поддерживается в Internet Explorer или проводнике Windows:

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

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

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

http(s)://имя пользователя:пароль@сервер/ресурс.ext

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

Злоумышленник может использовать этот синтаксис URL-адреса для создания гиперссылки, которая, как представляется, ведет на законный веб-сайт, но на самом деле открывает мошеннический (поддельный) веб-сайт. Например, следующий 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 и Internet Explorer не открывают сайты HTTP или HTTPS с помощью URL-адреса, содержащего информацию о пользователе. По умолчанию, если информация о пользователе включена в URL-адрес HTTP или HTTPS, отображается веб-страница со следующим заголовком:

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

Примечание

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

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

Обходные пути для пользователей которые вводят URL-адрес в адресную строку или щелкают ссылку

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

  • Не включать информацию о пользователе в URL-адреса HTTP или HTTPS.
  • Сообщите пользователям, чтобы они не включали свою информацию о пользователе при вводе URL-адресов HTTP или HTTPS.

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

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

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

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

    • Используйте функцию InternetSetOption и включите следующие флаги параметров:
      • INTERNET_OPTION_USERNAME
      • ИНТЕРНЕТ_ОПЦИЯ_ПАРОЛЬ

    Примечание

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

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

    • Функция InternetConnectA
    • Функция HttpOpenRequestA
    • Функция HttpSendRequestA

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

    • Интерфейс IAuthenticate

    Примечание

    С помощью этого обходного пути можно открывать веб-сайты, на которые перенаправляется метод подмены URL-адресов. Отображается весь URL-адрес, включая место перенаправления.

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

    http://[email protected]

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

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

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

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

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

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

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

    По умолчанию это новое поведение по умолчанию для обработки информации о пользователе в URL-адресах HTTP или HTTPS применяется только к Проводнику Windows и 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 и Internet Explorer, создайте значения iexplore.

Ваш комментарий будет первым

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *