SiZE
Новичок
Помогите с NTLM авторизацией
Прочитал тут http://phpclub.ru/faq/NTLM. Но это не то, что надо для меня.
Есть задача: получать с помощью GET запросов данные на сайте. Сайт расположен на отдельном компьютере под управлением Windows, в качестве сервера используется IIS. Для того что бы открыть какую либо страницу на сайте надо пройти авторизацию.
Не большое примечание: через браузер сайт открывается быстро, если я лезу скриптом, то очень долго жду ответа, минуты 1,5 две на 1 страницу. Скрипт использует fsockopen, я пока не знаю с чем это связано.
Как все это выглядит в браузере: я открываю URL, скажем 127.0.0.1/pas. Всплывает окно (похожее на HTTP-аутенфикацию), авторизация не руками написанная, а серверная (логин и пароль прописаны в домене), я ввожу логин и пароль, далее меня перекидывает на сайт http://127.0.0.1/pas/en/site/index.php
Как это выглядит если использовать заголовки HTTP:
1. Я посылаю GET /pas HTTP/1.1
2. Сервер говорит, что я не авторизован возвращает:
WWW-Authenticate: Negotiate
WWW-Authenticate: NTLM
WWW-Authenticate: Basic realm="127.0.0.1"
3. На данном этапе я научился проходить 'Basic' авторизацию. Отправляю просто: "Authorization = Basic ".base64_encode ($login.":".$passwd)."\r\n"; Посмотрел в фаербаге, браузер авторизуется через NTLM. Может быть из-за этого когда я запускаю скрипт проходит минуты 2-3 прежде чем я вывод на экран получаю? Т.е. из-за разных видов авторизации время ожидания увеличивается, скажем если это Basic то компу приходится где нибудь что нибудь дополнительно искать и тд?
Как правильно авторизоваться с помощью NTLM на сервере? Я в криптографии не силен, помогите, как там хеши составляются?
Прочитал тут http://phpclub.ru/faq/NTLM. Но это не то, что надо для меня.
Есть задача: получать с помощью GET запросов данные на сайте. Сайт расположен на отдельном компьютере под управлением Windows, в качестве сервера используется IIS. Для того что бы открыть какую либо страницу на сайте надо пройти авторизацию.
Не большое примечание: через браузер сайт открывается быстро, если я лезу скриптом, то очень долго жду ответа, минуты 1,5 две на 1 страницу. Скрипт использует fsockopen, я пока не знаю с чем это связано.
Как все это выглядит в браузере: я открываю URL, скажем 127.0.0.1/pas. Всплывает окно (похожее на HTTP-аутенфикацию), авторизация не руками написанная, а серверная (логин и пароль прописаны в домене), я ввожу логин и пароль, далее меня перекидывает на сайт http://127.0.0.1/pas/en/site/index.php
Как это выглядит если использовать заголовки HTTP:
1. Я посылаю GET /pas HTTP/1.1
2. Сервер говорит, что я не авторизован возвращает:
WWW-Authenticate: Negotiate
WWW-Authenticate: NTLM
WWW-Authenticate: Basic realm="127.0.0.1"
3. На данном этапе я научился проходить 'Basic' авторизацию. Отправляю просто: "Authorization = Basic ".base64_encode ($login.":".$passwd)."\r\n"; Посмотрел в фаербаге, браузер авторизуется через NTLM. Может быть из-за этого когда я запускаю скрипт проходит минуты 2-3 прежде чем я вывод на экран получаю? Т.е. из-за разных видов авторизации время ожидания увеличивается, скажем если это Basic то компу приходится где нибудь что нибудь дополнительно искать и тд?
Как правильно авторизоваться с помощью NTLM на сервере? Я в криптографии не силен, помогите, как там хеши составляются?