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

Форум PHP

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

 

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

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

тема: Как программно пройти HTTP-аутентификацию
 
 автор: ak574   (11.09.2008 в 14:58)   письмо автору
 
 

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

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

Вариант http://user:passowrd@domain:20953rdparty/squirrelmail/index.php не работает. Вопрос: есть ли в пхп возможность программу установить значение переменных (или послать их через header) $_SERVER['PHP_AUTH_USER'] и $_SERVER['PHP_AUTH_PW'], чтобы пройти автоматически HTTP-авторизацию?

  Ответить  
 
 автор: cheops   (11.09.2008 в 15:33)   письмо автору
 
   для: ak574   (11.09.2008 в 14:58)
 

Все-таки непонятно, почему нельзя CURL использовать?

  Ответить  
 
 автор: ak574   (11.09.2008 в 15:59)   письмо автору
 
   для: cheops   (11.09.2008 в 15:33)
 

>Все-таки непонятно, почему нельзя CURL использовать?

Условно - curl текстовый браузер, с его помощью я прохожу аутентификацию, могу получить содержимое страницы и т.д., но для для нормального браузера, например Firefox - это не имеет никакого эффекта. Пример - в IE Вы прошли HTTP-аутентификацию, в Firefox - нет, естественно в нем Вы не будете иметь доступа к странице, хотя в IE - все нормально.

Если бы аутентификация была с использованием сессии, curl-ом я бы получил ответ сервера с заголовком, прочитал бы все содержимое куки, передал ее зано серверу и открыл бы первую страницу после аутентификации. Но тут HTTP-аутентификация, как передать апачу значения логин/пасс? или присвоить значения переменным $_SERVER['PHP_AUTH_USER'] и $_SERVER['PHP_AUTH_PW']?

  Ответить  
 
 автор: BinLaden   (11.09.2008 в 20:31)   письмо автору
 
   для: ak574   (11.09.2008 в 15:59)
 

http://en.wikipedia.org/wiki/Basic_access_authentication

  Ответить  
 
 автор: ak574   (16.09.2008 в 12:59)   письмо автору
 
   для: BinLaden   (11.09.2008 в 20:31)
 

Да, я могу пройти HTTP-аутентификацию, используя curl или сокет, но аутентификацию проходит только пхп-скрипт, когда я выдаю команду header("Location: http://domain.com:2095/3rdparty/squirrelmail/index.php") я получаю в браузере запрос аутентификации, т.к. браузер пользователя еще не посылал ответ серверу. Я все правильно делаю или все-таки что недопонимаю?

  Ответить  
 
 автор: Киналь   (16.09.2008 в 18:41)   письмо автору
 
   для: ak574   (11.09.2008 в 14:58)
 

Можно попробовать сделать скрипт-посредник. То есть сделать что-то вроде прокси-сервера.

  Ответить  
Rambler's Top100
вверх

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