Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.05.2009, 20:09   #1
Viteef
stopfake.org
Участник клуба
 
Регистрация: 03.05.2007
Сообщений: 1,927
По умолчанию Повторная авторизация

Всем привет. На входе файл типа URL;логин;старый пароль;новый пароль

пример
Цитата:
esoul.ru;kenta;123456;12341234;
esoul.ru;kenta;12341234;123456;
esoul.ru;kenta;123456;12341234;
esoul.ru;kenta;12341234;123456;
После смены пароля, сразу не получается залогиниться с новым, хотя на самом деле пароль изменен успешно.

Вот лог, после обработки примера выше:
Цитата:
Отчет:
Не авторизованы.
Удалось авторизоваться c паролем 123456
Отправляю данные на смену пароля
Пробую авторизоваться с паролем 12341234
Не авторизованы.
esoul.ru;kenta;123456;12341234;Не удалось авторизоваться с паролем 12341234
========================
Не авторизованы.
esoul.ru;kenta;12341234;123456 Не удалось авторизоваться Ошибка авторизации
========================
Не авторизованы.
esoul.ru;kenta;123456;12341234 Не удалось авторизоваться Ошибка авторизации
========================
Не авторизованы.
esoul.ru;kenta;12341234;123456 Не удалось авторизоваться Ошибка авторизации
========================
Сообщения о успешной смене пароля сайт не показывает, поэтому для проверки приходиться пробоваться автризоваться с новым. Кроме того как видно по логу невозможно авторизоваться даже со старым паролем. В чем проблема не знаю. И кукисы чистил, и get на страницу с logout...

функция авторизации
Код:
function TForm1.Auth;
//function Auth(url, login, pass:string):string;
var params,responseres:tstringlist;
begin
  params:=TStringList.Create;
  responseres:=TStringList.Create;
  Form1.IdCookieManager1.CookieCollection.Clear;
  params.Add('image=войти');
  params.Add('login=submit');
  params.Add('login_name='+login);
  params.Add('login_password='+pass);
    try
    idhttp1.Request.Referer:='http://'+url;
    idhttp1.Get('http://'+url+'/index.php?action=logout');
    if Pos(url+'/user/'+login,responseres.Text)>0 then
            begin
            Form1.log.Lines.Add('Не удалось разлогиниться.');
            end else Form1.log.Lines.Add('Не авторизованы.');
    idhttp1.Request.Referer:='http://'+url;
    responseres.Text:=FixString(idhttp1.Post('http://'+url+'/index.php',params));
    except
    on E:exception do
      begin
        result:=e.Message;
        exit;
      end;
    end;
  if Pos(url+'/user/'+login,responseres.Text)>0 then
            begin
            result:='ok';
            end else result:='Ошибка авторизации';
  params.free;
  responseres.free;
end;
Viteef вне форума Ответить с цитированием
Старый 15.05.2009, 22:09   #2
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

А через некоторое время авторизация с новым паролем успешно проходит ?
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 15.05.2009, 22:24   #3
Viteef
stopfake.org
Участник клуба
 
Регистрация: 03.05.2007
Сообщений: 1,927
По умолчанию

Через минуту - нет. Только после перезапуска.
Viteef вне форума Ответить с цитированием
Старый 15.05.2009, 23:11   #4
Sergey2
Форумчанин
 
Регистрация: 08.01.2008
Сообщений: 233
По умолчанию

проблемма, похоже, не тут, а где-то в остальной части проги.... попробоуй оттрасировать тупо...
Sergey2 вне форума Ответить с цитированием
Старый 16.05.2009, 02:22   #5
Viteef
stopfake.org
Участник клуба
 
Регистрация: 03.05.2007
Сообщений: 1,927
По умолчанию

Вобщем, создал в этой функции динамический IdHttp и все заработало... Спасибо всем кто откликнулся.
Viteef вне форума Ответить с цитированием
Старый 16.05.2009, 02:40   #6
Виталий Серов
Заснувший
Форумчанин
 
Регистрация: 13.03.2009
Сообщений: 213
По умолчанию

Цитата:
Через минуту - нет. Только после перезапуска
Попробуй удалить idhttp1 и всё остальное после смены пороля, потом возрадить.
Извиняюсь за повтор, пока с сайтом возился решение уже нашли
Виталий Серов вне форума Ответить с цитированием
Старый 16.05.2009, 09:58   #7
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Viteef после подобных действий надо делать Idhttp1.disconnect должно помочь.
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Авторизация. Jjoker Общие вопросы C/C++ 4 28.01.2009 23:17
Нестандартная авторизация krot98 Работа с сетью в Delphi 7 09.12.2008 22:09
Авторизация AIst PHP 5 03.12.2008 20:57
Повторная установка??? Marsik Софт 8 06.05.2008 20:52
Авторизация justas Работа с сетью в Delphi 0 21.12.2007 16:16