Модераторы: Snowy, Poseidon, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> https авторизация, а потом переход? после авторизации - не могу загрузить 
V
    Опции темы
jsj
Дата 5.3.2009, 04:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 4.3.2009

Репутация: нет
Всего: нет



Доброго времени суток, уважаемые.

Собственно вопрос.
Делаю авторизацию в админку сайта по SSL(https) с помощью Indy(TidHttp) + OpenSSL.
Post запрос вроде проходит, но следующую страничку он не грузит - собственно админку.

Из ньюансов - работает только если:
Код

  idHttp.ProtocolVersion := pv1_1;
  idHttp.HttpOptions.hoKeepOrigProtocol := True;
  

Ну и эти св-ва тоже стоят ;)
Код

  idHttp.HttpOptions.hoInProcessAuth := True;
  idHttp.HttpOptions.hoForceEncodeParams := True;
  

Есть подозрения что надо как-то передавать какие-то параметры сессии.


ЗЫ: КукиМенеджер, если что - прикручен ;)


Буду рад конструктивным комментариям и советам! smile
PM MAIL   Вверх
MetalFan
Дата 5.3.2009, 09:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 14
Всего: 128



на основании чего был сделан вывод, что 
Цитата(jsj @  5.3.2009,  04:06 Найти цитируемый пост)
следующую страничку он не грузит

какие-то ошибки выдавались? или как? какая версия индей, делфи?



--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Poseidon
Дата 5.3.2009, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 4
Всего: 133



Цитата(jsj @  5.3.2009,  04:06 Найти цитируемый пост)
Делаю авторизацию в админку сайта по SSL(https) с помощью Indy(TidHttp) + OpenSSL.
Ну и? Под "OpenSSL" что скрывается? Нужно бы IdSSLIOHandlerSocket прикрутить.

Цитата(jsj @  5.3.2009,  04:06 Найти цитируемый пост)
Post запрос вроде проходит, но следующую страничку он не грузит - собственно админку.
В любом случае хоть что-то, да грузит. Хотелось бы увидеть что и очень хотелось бы увидеть код.


Это сообщение отредактировал(а) Poseidon - 5.3.2009, 13:17


--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
jsj
Дата 5.3.2009, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 4.3.2009

Репутация: нет
Всего: нет



Indy 10.0.52
Delphi 5, Update1

TIdSSLIOHandlerSocketOpenSSL прикручен, dllки на месте, т.к. контент по https получает.
Определяю что он хоть что-то грузит, а именно, что проходит авторизация, что я попадаю на страничку сообщающую что уже залогинены, если уже залогинен, ес-сно ;)
Но после срабатывания релогина, я получаю опять страничку с вводом логина и пароля, вместо входа в админку(как срабатывает в браузере).
Ну и если не залогинены ещё, то после ПОСТ запроса - я опять получаю ту же страничку с пустой формой.
Во время входа на сайт - требуется сертификат, я его руками тоже пробывал подставлять - результат тот же (думаю, что OpenSSL и сам с ним работает).

Ошибки никакие не выдаются сейчас, раньше, когда я принудительно не сохранял версию протокола pv1_1, после ПОСТ запроса, выдавалось "Connection Closed Gracefully".

Вот! smile))
Вроде описал подробнее ;)

Код

    try
      FCurContent := IdHttp1.Get('https://suadmctrl8.ualadys.com');
      {$ifdef debug}SaveCurContent;{$endif}
    except
      on E: Exception do
      begin
        Err('Ошибка захода на фэйс админки (' + E.Message + ')');
        Exit;
      end;
    end;

    //Авторизуемся в админку ;)
    Data := TStringList.Create;
    Data.Add('login='+AdminLogin);
    Data.Add('pass='+AdminPass);
    Data.Add('Submit=Log In');
    try
      FCurContent := IdHttp1.
        Post('https://suadmctrl8.ualadys.com/login.rpx', Data);
      {$ifdef debug}SaveCurContent;{$endif}
    except
      on E: Exception do
      begin
        Err('Ошибка отправки авторизационных данных в админку (' + E.Message + ')');
        Data.Free;
        Exit;
      end;
    end;
    Data.Free;


    v    := VarArrayCreate([0, 0], varVariant);
    doc  := CoHTMLDocument.Create as IHTMLDocument2;

    v[0] := FCurContent;
    doc.write(PSafeArray(TVarData(v).VArray));
    doc.close;

    if Pos(strAlreadyAdmin, doc.body.InnerText) <> 0 then
    begin
      //Уже залогинены в админке!
    end;

    if Pos(strAdminka, doc.body.InnerText) = 0 then
    begin
      Err('Строка "' + strAdminka + '" не найдена, возможно неправильный пароль/логин.');
      Exit;
    end;


Это сообщение отредактировал(а) jsj - 5.3.2009, 14:44
PM MAIL   Вверх
jsj
Дата 5.3.2009, 21:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 4.3.2009

Репутация: нет
Всего: нет



smile
Неужели никто не делал авторизацию в админку? )

Ау, откликнитесь! smile
PM MAIL   Вверх
MetalFan
Дата 5.3.2009, 22:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 14
Всего: 128



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

Это сообщение отредактировал(а) MetalFan - 5.3.2009, 22:26


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
jsj
Дата 6.3.2009, 00:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 4.3.2009

Репутация: нет
Всего: нет



Спасибо, а что за сниффер посоветуете?
PM MAIL   Вверх
dumb
Дата 6.3.2009, 03:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 5
Всего: 158



PM MAIL   Вверх
Virtuals
Дата 6.3.2009, 07:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 476
Регистрация: 27.11.2006

Репутация: 2
Всего: 11



и что этот снифер подглядит защищенное соединение? smile 

ЗЫ имхо какая-то проблема с куками, хотя от индейцев всего можно ожидать...
PM MAIL ICQ   Вверх
MetalFan
Дата 6.3.2009, 07:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 14
Всего: 128



Fiddler2 умеет. только он работает, как локальный прокси.






--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Virtuals
Дата 6.3.2009, 07:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 476
Регистрация: 27.11.2006

Репутация: 2
Всего: 11



PS имхо индейцев в топку, и начать пробовать sinapse, правда с куками придется разбиратся самому ;), хотя может это и окажется проще чем доверятся индейцам
PM MAIL ICQ   Вверх
MetalFan
Дата 6.3.2009, 08:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 14
Всего: 128



Virtuals, не обижай индейцев! они корошие!  smile 


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Virtuals
Дата 6.3.2009, 09:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 476
Регистрация: 27.11.2006

Репутация: 2
Всего: 11



MetalFan, ага хорошие... smile мы их просто готовить неумеем smile 

то блин там куки криво обрабатываются, то фиг SSL прикрутиш, сам недавно заморочился с https и был в шоке сколько народу мучается с индейцами.
jsj,  нужно памятник поставить что он их заставил с OpenSSL работать, (правда очень сильно не уверен что при переносе на другую машину так и останется) smile , 
вот буквально недавняя тема
http://forum.vingrad.ru/forum/topic-244487...y1774895/0.html
а вот статейка 
http://www.delphi.int.ru/articles/49/
мне понравилось, и работа с синапсом интуитивно понятна.
PM MAIL ICQ   Вверх
jsj
Дата 7.3.2009, 03:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 4.3.2009

Репутация: нет
Всего: нет



Ребят спасибо, только тему решил посмотреть, т.к. решил траблу, а тут и вы в тему отписали smile

Вчера для другого проекта разбирался с косяком с авторизацией [в]контакте - индейцы тоже работать не хотели.
И я нарыл косяк в обработке куков, если в части domain=, перед именем домена стоит точка, то проверка на валидность куков в инди не проходит и они не обрабатываются.. 
Убил на это несколько ночных часов smile)) Но зато СДЕЛАЛ! smile
И, оказывается, на форуме - здесь уже это обсуждалось smile))
Но, зато сам разобрался - до ответа мог и не дойти, если бы не знал куда рыть ;)


В общем тут тот же косяк, только с другого боку (вот как помог вроде бы другой не касающийся проект).

Валидность куков не проходит, т.к. во-первых перед доменом - стоит точка(ну эт я поправил), а во-вторых, после имени домена стоит двоеточие и номер порта smile))
Типа: .domain.com:1234


Вобщем теперь все работает - всем спасибо! smile
Я очень РАД!!! smile))



ЗЫ: Надеюсь сие раскопанные грабли - помогут их обойти нашим потомкам... АУМ!!! smile))

Это сообщение отредактировал(а) jsj - 7.3.2009, 03:18
PM MAIL   Вверх
Virtuals
Дата 7.3.2009, 10:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 476
Регистрация: 27.11.2006

Репутация: 2
Всего: 11



jsj, ну в принципе что и требовалось доказать. /тему про косяк с куками ч тоже читал  smile /
//обрати внимание на статью по последней ссылке, у индейцев есть проблема с openssl 
вот цитата из статьи
Цитата

. В случае с Indy это сделать очень сложно. Точнее, написать приложение-то просто, но вот чтобы оно работало... Оно или требует библиотеки OpenSSL, или говорит, что найденные библиотеки не подходят. Решается проблема скачиванием "правильных версий библиотек". Но даже имея их, всё равно проблемы. Если какое-то приложение использовало "неверные библиотеки", то до перезагрузки компьютера работать ничего не будет. Или то грузится, то нет. Почему так – предположения есть, но не хочется разбираться. Есть дела поважней.

PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0586 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.