Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Странная загвоздка с Header("Location: <...>") в IE при использование Basic-аутентификации сервера Apache
 
 автор: JC_Piligrim   (26.09.2005 в 15:36)   письмо автору
 
 

Всем доброго здравия!

Столкнулся с интересной особенностью IE, очень осложнившей мне жизь.

Вобщем, на некоем сайте предусмотрена защищенная область с обновлениями программных файлов некоего программного комплекса (компания содержащая сайт занимается разработкой софта для бюджетных организаций), доступ к которой разрешен только для клиентов компании (им разрешается доступ в эту область по персональному логину/паролю). Защищенная область реализуется, с использованием возможностей сервера Apache, то есть с помощью .htaccess, .htpasswd и .htgroups файлов. При добавлении нового привелигированного пользователя в систему обновляется содержимое последних двух файлов (за это отвечают спец.функции, разработанные мной, и оформляющиеся ныне в виде независимого класса для более простого использования).

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


http://site.ru/defence_folder/secret_file.ext


, где "defence_folder "- та самая "запаролированная" директория с файлами, выскакивает окошко с вводом логина/пароля. С этим проблем не возникает. Если пользователь вводит корректные данные, то файл разрешается скачивать, иначе "401 Authorization Required", т.е. кукиш.

Думаю, также немало людей знают, что для того, чтобы пропустить вывод этого окошка, и сразу загрузить файл, достаточно в адресную строку браузера вести следующую конструкцию:


http://login:password@site.ru/defence_folder/secret_file.ext


то можно получить файл сразу, минуя это лишнее окно, если, разумеется, вместо "login" и "password" ввести корректные данные для доступа. Вот именно с этим у IE 6 почему-то начинаются проблемы. Особенно, если данная конструкция была введена не напрямую в адресной строке, а передана скриптом браузеру в заголовке "Location", т.е.


<?

Header 
("Location: http://login:password@site.ru/defence_folder/secret_file.ext");

?>


приводит к следующему маловразумительному сообщению:


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


если же воодить напрямую в строку адреса, то:


Не удается отобразить страницу 
Возможно, эта страница была удалена или переименована. 

--------------------------------------------------------------------------------

Попробуйте следующее:

Откройте login:password@site.ru домашнюю страницу, затем найдите там ссылки на нужные данные.

Проверьте правильность адреса страницы в строке адреса.


Самое интересное, что в Mozilla FireFox эта технология работает. В IE у меня - нет.

Дело в том, что требуется именно автоматическая переадресация на файл с одновременной авторизацией (чтобы пользователь не парился с окном Basic-авторизации, т.к. есть еще некоторые ньюансы), а большинство пользователей, как известно, кроме браузера IE никаких других не знают, и знать не хотят.

Кто-нибудь знает, почему это происходит с IE, и как можно это победить?

Буду очень благодарен.

   
 
 автор: XPraptor   (26.09.2005 в 16:37)   письмо автору
 
   для: JC_Piligrim   (26.09.2005 в 15:36)
 

Вот читай цитату:

Такой способ доступа к FTP серверу разрешен в большинстве известных броузеров (Netscape Navigator, Opera), но если Вы используете в работе Microsoft Internet Explorer, необходимо помнить, что корпорация Microsoft в феврале 2004 года выпустила заплатку, для IE, которая запрещает ввод символа « @ » в строке запроса, и в случае установки этой заплатки (Windows Update), Вам не удасться работать с FTP сервером через Microsoft Internet Explorer

   
 
 автор: isset   (26.09.2005 в 17:59)   письмо автору
 
   для: XPraptor   (26.09.2005 в 16:37)
 

Ты знаешь чем отличается яблоко от помидора?А чем FTP от HTTP?

   
 
 автор: cheops   (26.09.2005 в 22:25)   письмо автору
 
   для: isset   (26.09.2005 в 17:59)
 

Да нет всё правильно... они просто запретили такой автоматический способ входа... вообще для чего бы он не использовался...

   
 
 автор: JC_Piligrim   (30.09.2005 в 01:58)   письмо автору
 
   для: cheops   (26.09.2005 в 22:25)
 

Простите, что долго не появлялся.

Спасибо, что прояснили ситуацию... А теперь проясните, пожалуйста, можно это как-нибудь победить? Если заменить "@" его hex-эквивалентом, прокатит, как думаете? (Пардон, проще самому проверить =)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования