Модераторы: korob2001, ginnie

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Cookie Запись, проверка, выход 
:(
    Опции темы
tolkien
Дата 22.4.2008, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Протокол работ кук очень простой. Реализуйте свой модуль.
PM MAIL   Вверх
KSURi
Дата 22.4.2008, 18:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(tolkien @ 22.4.2008,  17:19)
Протокол работ кук очень простой. Реализуйте свой модуль.

IMHO не хороший совет. Зачем человеку изобретать очередной велосипед (даже не "велосипед", а "велосипедище")?
Нужно просто получше почитать документацию по CGI::Cookie и RFC 2965.

У меня работает вот такой код (кука нормально удаляется, FF2.0.14):
Код

#...
# LogIn
return CGI->cookie(-name    => 'CGISESSID',
                -value   => $session_key,
                -expires => '+1h');
#...
# LogOut
return CGI->cookie(-name    => 'CGISESSID',
                -value   => '',
                -expires => 'now');
#...
exit print $cgi->header(-charset  => 'windows-1251',
                        -cookie   => $res,
                        -location => 'http://' . $ENV{SERVER_NAME} . ($isLoggedIn ? $success_redirect : $failure_redirect))



Это сообщение отредактировал(а) KSURi - 22.4.2008, 18:50


--------------------
Died at Life.pl line 21
PM Jabber   Вверх
MaxPayne
Дата 22.4.2008, 21:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



tolkien, 
Научи меня летать учитель - летать очень легко сказал учитель и улетел

KSURi, 
Все просто когда уже работал с этим. Дело в том что с куками возился год назад, но как и щас чтото получилось чтото нет. Когда в сумме все не работает, "организм" в целом мертв.
Документацию читал, но опять же может не все понимаю по английски - что не понятно уже писал на прошлой странице. Вопрос в принципе в следующем - почему не работает ВЫХОД. Пример тоже на прошлой странице. 

То что вариантов реализаций много я понял - и это как раз и сбивает.


PM MAIL WWW ICQ   Вверх
KSURi
Дата 22.4.2008, 22:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



MaxPayne, зашел на ваш линк (http://www.3fun.ru/cgi-bin/zzlogin.cgi). При входе куки не устанавливаются, при нажатии на "Выход" (кстати параметр r для zzexit.cgi пуст, так и должно быть?) устанавливается пустая кука ses (ну т.е. в запросе ее установку видно, но в браузере она не сохраняется).

Я не совсем понял где все-таки баг... В любом случае попробуйте использовать код для установки кук, который я привел выше.

ЗЫ: в вашем случае редирект имхо лучше будет сделать через <meta name="refresh">


--------------------
Died at Life.pl line 21
PM Jabber   Вверх
MaxPayne
Дата 24.4.2008, 12:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



KSURi, Меня смущает return. Что мне нужно поставить вместо:?

Код

$c = new CGI::Cookie(-name => 'ses',
             -value => "$ses",
             -expires => '+3M',
             -path => '/',
             -domain  =>  '.3fun.ru',
 
);
print header(-cookie=>$c);

PM MAIL WWW ICQ   Вверх
KSURi
Дата 24.4.2008, 13:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



У меня стоит return потому, что куки возвращают несколько ф-ий, соответственно это просто отрывоки из них. Привел я их для того, чтобы показать, что необязательно указывать параметры -path, -domain и т.д.


--------------------
Died at Life.pl line 21
PM Jabber   Вверх
MaxPayne
Дата 28.4.2008, 12:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



KSURi, домен я поставил для того чтобы и www.3fun.ru и 3fun.ru восринимались как один для кук.

Вроде заработало
Если будет возможность проверьте у себя: http://www.3fun.ru/cgi-bin/zzlogin.cgi
Логин и пароль test (уже подставлены)

Проблемы были 2:
1) Если куки были пустые в базе все равно находились записи с пустым полем и выдавало первую попавшуюся
2) По всей видимости надо было писать переменную не в кавычках: -value => "$ses"

Если все работает могу дать кодинг трех файлов (вход, выход и форма)
PM MAIL WWW ICQ   Вверх
shamber
Дата 28.4.2008, 18:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

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



MaxPayne, потестировал. На этой странице ничего не происходит. т.е. 
было такое окно
user posted image

после нажатия OK, тоже самое.
Так и должно быть?
З.Ы. В опере тестировал


Это сообщение отредактировал(а) shamber - 28.4.2008, 18:01
PM MAIL Jabber   Вверх
MaxPayne
Дата 28.4.2008, 22:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



shamber, дома перестало все работать. Не могу зайти. Так же не должно быть  smile 

Как завелась кука на компе, так больше не могу войти - новая кука не накладывается одна на другую при новом входе.

Это сообщение отредактировал(а) MaxPayne - 28.4.2008, 22:36
PM MAIL WWW ICQ   Вверх
shamber
Дата 29.4.2008, 08:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

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



Видимо у меня тоже есть старая кука.
Я его тестировал когда Вы только доступ предложили smile

Это сообщение отредактировал(а) shamber - 29.4.2008, 08:50
PM MAIL Jabber   Вверх
MaxPayne
Дата 29.4.2008, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



shamber, Блин на работе все ок (Vista SP1 + IE 7)

Должно быть вот это:

user posted image
PM MAIL WWW ICQ   Вверх
shamber
Дата 30.4.2008, 08:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

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



user posted image

Это в опере. Просто я с ее помощью заходил на Ваш сайт, когда скрипт не совсем корректно работал.

А В IE6 все нормально, т.к. я его не использовал раньше для вашего сайта. smile

P.S. ИМХО можно не заморачиваться, я думаю людей со старыми куками не так много smile

Это сообщение отредактировал(а) shamber - 30.4.2008, 08:25
PM MAIL Jabber   Вверх
Itsys
Дата 30.4.2008, 09:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1338
Регистрация: 21.1.2008
Где: г. Москва

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



Цитата(shamber @  30.4.2008,  08:15 Найти цитируемый пост)
P.S. ИМХО можно не заморачиваться, я думаю людей со старыми куками не так много 

Не скажи, а если пользователь не нажмет кнопку "Выйти", а запись о его сессии с сервера удалится и при следующем заходе опять будет такая же ситуация.... я с такими случаями уже сталкивался.
Надо при получении куки от пользователя проверять наличие в базе соответсвующей записи, и, в случае, если ее нет, перезаписывать куки на новые.
PM MAIL WWW Skype   Вверх
shamber
Дата 30.4.2008, 10:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

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



Itsys, я имел в виду конкретно этот пример. smile 
А то что надо перезаписывать это правильно.
MaxPayne, вы же уже разобрались с перезаписью?
PM MAIL Jabber   Вверх
MaxPayne
Дата 1.5.2008, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



shamber, не совсем. Как и на приведенном вами рисунке - Записанная кука есть, но в базе ее нет, поэтому выводит форму. Но когда жму войти проверяется логин и пароль, в базу заносится новая кука и записывается на комп. Но в тот то и дело что кука не перезаписывается - т.е. не накладывается поверх.
PM MAIL WWW ICQ   Вверх
Страницы: (4) Все 1 2 [3] 4 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: CGI программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к CGI программированию
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", качать здесь


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

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


 




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


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

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