UncleFather » 07 мар 2014 17:17, Пт
Проблема:
Встроенный в Microsoft Windows браузер Internet Explorer не принимает имя пользователя и пароль, если вводить их в адресной строке в обычном формате: http://UserName:Password@www.site.com и выдает ошибку «Windows не удается найти "http://UserName:Password@www.site.com". Проверьте, правильно ли написаны слова для поиска, и повторите попытку»:
Прочие браузеры вполне нормально принимают и обрабатывают адресную строку в таком формате.
Объяснение:
Эта проблема появилась после установки обновления Накопительное обновление безопасности для Internet Explorer 6 с пакетом обновления 1 (SP1) (KB832894) и связано с попыткой улучшить безопасность браузера Internet Explorer.
Приведу цитаты из статьи KB834489 на сайте Microsoft:
По умолчанию версии обозревателя Windows Internet Explorer, выпущенные после выпуска обновления безопасности 832894, не поддерживали обработку имен пользователей и паролей в URL-адресах протоколов HTTP, HTTP с Secure Sockets Layer (SSL) или HTTPS. В обозревателе Internet Explorer и проводнике не поддерживается следующий синтаксис URL-адреса:
http(s)://имя_пользователя:пароль@сервер/ресурс.расш
В Internet Explorer версий 3.0 — 6.0 реализована поддержка URL-адресов протоколов HTTP и HTTPS в следующем формате:
http(s)://имя_пользователя:пароль@сервер/ресурс.расш
Этот синтаксис используется для автоматической отправки учетных данных пользователя на веб-узел, который поддерживает базовую проверку подлинности.
Однако в таком формате злоумышленник может создать гиперссылку, которая на первый взгляд указывает на законный, но в действительности открывает обманный (подмененный) веб-узел. Так, указанный ниже адрес URL вместо веб-узла http://www.wingtiptoys.com открывает http://example.com:
http://www.wingtiptoys.com@example.com
Решение:
Несколько способов решения этой проблемы приведены в этой же статье KB834489 на сайте Microsoft.
Но мне больше по душе пришелся способ с внесением изменений в реестр:
просто в реестре по адресу
HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_HTTP_USERNAME_PASSWORD_DISABLE - если будем вносить изменения для всех пользователей компьютера
или по адресу:
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_HTTP_USERNAME_PASSWORD_DISABLE - если будем вносить изменения только для текущего пользователя
создаем два новых параметра iexplore.exe и explorer.exe типа DWORD со значением 0:
Код: Выделить всё
reg add "HKLM\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_HTTP_USERNAME_PASSWORD_DISABLE" /v iexplore.exe /t REG_DWORD /d 0
reg add "HKLM\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_HTTP_USERNAME_PASSWORD_DISABLE" /v explorer.exe /t REG_DWORD /d 0
Дополнение:
Если в нашем логине/пароле встречаются символы, которые не могут быть корректно обработаны, например @, то их нужно перекодировать в URL, например, с помощью онлайн перекодировщика URLEncode и URLDecode online, либо с помощью собственного скрипта PowerShell.
Перекодированный символ @ будет выглядеть так %40, а если, например, пароль у нас такой: @GFмойпароль%;?, то его перекодированный вариант будет таким: %40GF%D0%BC%D0%BE%D0%B9%D0%BF%D0%B0%D1%80%D0%BE%D0%BB%D1%8C%25%3B%3F. Именно этот, перекодированный вариант и следует вставлять в строку браузера.
Итоговая строка получится такой: http://UserName:%40GF%D0%BC%D0%BE%D0%B9 ... manaeff.ru
[b][size=150]Проблема:[/size][/b]
Встроенный в Microsoft Windows браузер Internet Explorer не принимает имя пользователя и пароль, если вводить их в адресной строке в обычном формате: [b][i]http://UserName:Password@www.site.com[/i][/b] и выдает ошибку «Windows не удается найти "http://UserName:Password@www.site.com". Проверьте, правильно ли написаны слова для поиска, и повторите попытку»:
[spoiler title=Ошибка:][attachment=1]01.JPG[/attachment][/spoiler]
Прочие браузеры вполне нормально принимают и обрабатывают адресную строку в таком формате.
[b][size=150]Объяснение:[/size][/b]
Эта проблема появилась после установки обновления [url=http://www.microsoft.com/ru-ru/download/details.aspx?id=1213]Накопительное обновление безопасности для Internet Explorer 6 с пакетом обновления 1 (SP1) (KB832894)[/url] и связано с попыткой улучшить безопасность браузера Internet Explorer.
Приведу цитаты из статьи [url=http://support.microsoft.com/KB/834489]KB834489[/url] на сайте Microsoft:
[quote]По умолчанию версии обозревателя Windows Internet Explorer, выпущенные после выпуска обновления безопасности 832894, не поддерживали обработку имен пользователей и паролей в URL-адресах протоколов HTTP, HTTP с Secure Sockets Layer (SSL) или HTTPS. В обозревателе Internet Explorer и проводнике не поддерживается следующий синтаксис URL-адреса:
http(s)://имя_пользователя:пароль@сервер/ресурс.расш
[/quote]
[quote]В Internet Explorer версий 3.0 — 6.0 реализована поддержка URL-адресов протоколов HTTP и HTTPS в следующем формате:
http(s)://имя_пользователя:пароль@сервер/ресурс.расш
Этот синтаксис используется для автоматической отправки учетных данных пользователя на веб-узел, который поддерживает базовую проверку подлинности.
Однако в таком формате злоумышленник может создать гиперссылку, которая на первый взгляд указывает на законный, но в действительности открывает обманный (подмененный) веб-узел. Так, указанный ниже адрес URL вместо веб-узла http://www.wingtiptoys.com открывает http://example.com:
http://www.wingtiptoys.com@example.com
[/quote]
[b][size=150]Решение:[/size][/b]
Несколько способов решения этой проблемы приведены в этой же статье [url=http://support.microsoft.com/KB/834489]KB834489[/url] на сайте Microsoft.
Но мне больше по душе пришелся способ с внесением изменений в реестр:
просто в реестре по адресу
[b][i]HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_HTTP_USERNAME_PASSWORD_DISABLE[/i][/b] - если будем вносить изменения для всех пользователей компьютера
или по адресу:
[b][i]HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_HTTP_USERNAME_PASSWORD_DISABLE[/i][/b] - если будем вносить изменения только для текущего пользователя
создаем два новых параметра [b][i]iexplore.exe[/i][/b] и [b][i]explorer.exe[/i][/b] типа [b][i]DWORD[/i][/b] со значением [b][i]0[/i][/b]:
[code]reg add "HKLM\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_HTTP_USERNAME_PASSWORD_DISABLE" /v iexplore.exe /t REG_DWORD /d 0
reg add "HKLM\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_HTTP_USERNAME_PASSWORD_DISABLE" /v explorer.exe /t REG_DWORD /d 0[/code]
[attachment=0]02.JPG[/attachment]
[b][size=150]Дополнение:[/size][/b]
Если в нашем логине/пароле встречаются символы, которые не могут быть корректно обработаны, например [b][i]@[/i][/b], то их нужно перекодировать в URL, например, с помощью онлайн перекодировщика [url=http://www.codenet.ru/services/urlencode-urldecode/]URLEncode и URLDecode online[/url], либо с помощью [url=http://manaeff.ru/forum/viewtopic.php?p=1460#p1460]собственного скрипта PowerShell[/url].
Перекодированный символ [b][i]@[/i][/b] будет выглядеть так [b][i]%40[/i][/b], а если, например, пароль у нас такой: [b][i]@GFмойпароль%;?[/i][/b], то его перекодированный вариант будет таким: [b][i]%40GF%D0%BC%D0%BE%D0%B9%D0%BF%D0%B0%D1%80%D0%BE%D0%BB%D1%8C%25%3B%3F[/i][/b]. Именно этот, перекодированный вариант и следует вставлять в строку браузера.
Итоговая строка получится такой: [b][i]http://UserName:%40GF%D0%BC%D0%BE%D0%B9%D0%BF%D0%B0%D1%80%D0%BE%D0%BB%D1%8C%25%3B%3F@manaeff.ru[/i][/b]