Удаленная REALM аутентификация.

Trike

Новичок
Удаленная REALM аутентификация.

Всем доброго дня суток!

Столкнулся с задачей удаленной аутентификации на стороннем сайте.
На нем стоит Basic Realm + SSL.
Переход на урл с паролем-логином https://login:[email protected] использовать нельзя - светить пароль запрещено.

Почитал про такую аутентификацию, сделал тестовый скрипт- отсылаю хидер Authorization: Basic base64_encode(login:pass) - аутентификация проходит, окошко не появляется.
На реальном сайте облом и ответ от сервера: HTTP/1.0 302 Moved Temporarily
Date=Thu, 06 Sep 2007 09:57:05 GMT
Server=Apache/2.0.59 (Unix) mod_ssl/2.0.59 OpenSSL/0.9.8e
... инфа о сервере...
Connection=close

Сравнивал хидеры в своем тестовом скрипте и на прошедшем аутентификацию оригинале - одинаковые.

В чем может быть проблема? Может SSL чем то мешает?
 

Trike

Новичок
А почему он вылазит при посылке хидера и отсутствует при нормальной аутентификации?
 

Alexandre

PHPПенсионер
почему он вылазит при посылке хидера и отсутствует при нормальной аутентификации?
очевидно так устроен сайт...
а можно отследить посылаемые/запрашиваемые заголовки?
 

Trike

Новичок
Это посылается/приходит при первом обращении к сайту:

GET /agency/menu/ HTTP/1.1
Host: www.***
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://www.***
Cookie: JSESSIONID=GmN3YgzXODv1den6aatCUTEkwlMEem1k4qNfKzf1uz7VPhuJLcP8!-744990520

HTTP/1.x 401 Authorization Required
Date: Tue, 11 Sep 2007 12:44:47 GMT
Server: Apache/2.0.59 (Unix) mod_ssl/2.0.59 OpenSSL/0.9.8e
WWW-Authenticate: Basic realm="*** on-line interface"
Keep-Alive: timeout=10, max=200
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html

После ввода пароля:

https://www.***

GET /agency/menu/ HTTP/1.1
Host: www.***
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://www.***
Cookie: JSESSIONID=GmN3YgzXODv1den6aatCUTEkwlMEem1k4qNfKzf1uz7VPhuJLcP8!-744990520; _wl_authcookie_=mBZOlvjXfmnibLYTzsag
Authorization: Basic V0VTVF9HUklEOmFsYThjY2l0

HTTP/1.x 200 OK
Date: Tue, 11 Sep 2007 12:56:26 GMT
Server: Apache/2.0.59 (Unix) mod_ssl/2.0.59 OpenSSL/0.9.8e
Keep-Alive: timeout=10, max=200
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html; charset=windows-1251

Звездочками зашарил домен.

Вообще инфу по заголовкам нашел только здесь: http://msdn2.microsoft.com/en-us/library/Aa479391.aspx

To authenticate using Basic authentication, the user agent re-requests the resource, but this time sends along an Authorization header that contains the authentication scheme (Basic), along with the client's credentials—the client's username and password, separated by a colon :)) and base-64 encoded.
 

voituk

прозревший
Скорее всего на серверной стороне проверяются Cookie
JSESSIONID=GmN3YgzXODv1den6aatCUTEkwlMEem1k4qNfKzf1uz7VPhuJLcP8!-744990520; _wl_authcookie_=mBZOlvjXfmnibLYTzsag

А т.к. твой скрипт их не обрабатывает и при запросе не отправляет на сервер, то тебя и перебрасывает на аутентификацию.
 

Trike

Новичок
сенкс, попробую куку тоже отправлять

-~{}~ 13.09.07 17:58:

Куки чето не помогли.
Попробовал через cURL.
Логиниться только на одну страницу, т.е. если пройти по ссылке дальше, о5 просит залогиниться.
Каким заставить cURL создать постоянную авторизацию?
 
Сверху