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

Поиск:

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


Шустрый
*


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

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



Цитата(Itsys @ 13.4.2008,  07:37)
Значит его глючит на "-1М", попробуй "now"

Если Вы используете use CGI::Cookie; не могли бы привести пример как вы ставите куку, читаете и стираете (стираете я так понял равно ставить с датой now или -ДАТА). 
PM MAIL WWW ICQ   Вверх
Itsys
Дата 15.4.2008, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



А Документацию читал?
PM MAIL WWW Skype   Вверх
MaxPayne
Дата 15.4.2008, 21:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Может на форуме после первого вопроса отправлять к документации и закрывать тему? Читал. Выкладывал сюда примеры, читал то что уже писали на этом форуме, тестировал у себя, читал документацию, пробовал другие формы записи куков, опять читал. В итоге запутавшись окончательно  пришел сюда.
PM MAIL WWW ICQ   Вверх
Itsys
Дата 15.4.2008, 23:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



MaxPayne, не кипятись, просто если чего не понятно в документации ты скажи, попробуй установить время now, и посмотри что выводит заголовок.
PM MAIL WWW Skype   Вверх
MaxPayne
Дата 17.4.2008, 10:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Я сделал пробник http://www.3fun.ru/cgi-bin/zzlogin.cgi

Но теперь войти не могу даже. Вилы.

Логин и пароль там test (уже подставлены) 



Ставлю куки как
Код

$c = new CGI::Cookie(-name => 'ses',
             -value => "$ses",
             -expires => '+3M',
             -path => '/'
             -secure => 1
);
print header(-cookie=>$c);
print "<script language='javascript'> location.href='http://www.3fun.ru/cgi-bin/zzlogin.cgi' </script>";


Первая часть такая же как в доках, а вторая часть "print header(-cookie=>$c);"у меня идет так, в доках же написано
Код

$c->bake;

или
Код

print "Set-Cookie: $c\n";
print "Content-Type: text/html\n\n";



Это сообщение отредактировал(а) MaxPayne - 17.4.2008, 10:20
PM MAIL WWW ICQ   Вверх
ginnie
Дата 17.4.2008, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1287
Регистрация: 6.1.2008
Где: Москва

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



MaxPayne, советую внимательно почитать про параметр -secure.

Это сообщение отредактировал(а) ginnie - 17.4.2008, 11:15


--------------------
Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг)
PM MAIL Skype Jabber   Вверх
MaxPayne
Дата 17.4.2008, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



ginnie, знаючто для https://. Убрал я его. Но ничего не изменилось


Еще такой момент - принципиально ли для куков какой уровень домена?:

http://www.url.ru/
http://url.ru/


Это сообщение отредактировал(а) MaxPayne - 17.4.2008, 13:51
PM MAIL WWW ICQ   Вверх
ginnie
Дата 17.4.2008, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1287
Регистрация: 6.1.2008
Где: Москва

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



MaxPayne, можно посмотреть код zzlogin.cgi?


--------------------
Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг)
PM MAIL Skype Jabber   Вверх
MaxPayne
Дата 17.4.2008, 13:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



zzlogin.cgi

Код

#!/usr/bin/perl
use CGI qw(:all);
use CGI::Cookie;
use DBI;

$r=$ENV{'QUERY_STRING_UNESCAPED'};

$q = CGI->new();
$vc = $q->cookie('ses');

$dbh = DBI -> connect("DBI:mysql:3fun:localhost", "", "");
$sth = $dbh->prepare("SELECT * FROM user WHERE temp='$vc'");
$sth->execute;
@ref = $sth->fetchrow_array;
$log=$ref[3];
$sth->finish();
$dbh -> disconnect();



print "Content-Type: text/html\n\n";

if ($log)
{
print qq|
    <td width="100%" ><img width="348" height=1 src="/img/px.gif" usemap="#main">
    <p align=left><b>$log</b><br/><br/>    <a href='/cgi-bin/zzexit.cgi?r=$r'>выход</a>
    |;
}
else
{
    print qq|
    <td id="login_form">
    логин<br/> <form action='/cgi-bin/zzgo.cgi' method="post"><input type="text" id="login" name="l" value="test"> 
    пароль<br/> <input type="password" id="password" name="p" value="test"><INPUT id="lok" 
    TYPE="IMAGE" SRC="/img/ok.jpg" ALT="Submit button"></form>
    $vc, $log
     <a href="/cgi-bin/reg.cgi?r=$r">регистрация</a><br/><a href="/cgi-bin/recover.cgi?r=$r">забыли пароль?</a>
    |;
}

exit;


Это сообщение отредактировал(а) MaxPayne - 17.4.2008, 13:53
PM MAIL WWW ICQ   Вверх
ginnie
Дата 17.4.2008, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1287
Регистрация: 6.1.2008
Где: Москва

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



MaxPayne, домен принципиален. Чтобы работало на всех, надо указывать '.url.ru'.

При заходе на тестовую страницу (http://www.3fun.ru/cgi-bin/zzlogin.cgi) у меня выдает Max Payne и выход  smile 


--------------------
Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг)
PM MAIL Skype Jabber   Вверх
MaxPayne
Дата 17.4.2008, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Т.е надо писать не
-path => '/'
а
-path => '.url.ru'


А выйти вы можете? 
PM MAIL WWW ICQ   Вверх
ginnie
Дата 17.4.2008, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1287
Регистрация: 6.1.2008
Где: Москва

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



MaxPayne, для домена отдельный параметр 

Код

-domain  =>  '.url.ru',



Выйти не могу. Посмотрел что происходит при взаимодействии с Вашими скриптами.

При нажатии на выход zzexit.cgi ставит cookie 'ses' с пустым значением и путем '.3fun.ru' (это, наверное, Вы экспериментируете). Время устаревания 'Thu, 17-Apr-2008 07:37:14 GMT' (это в 15:35 MSK). Заголовки смотрю при помощи плагина HttpWatch для IE.


--------------------
Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг)
PM MAIL Skype Jabber   Вверх
MaxPayne
Дата 21.4.2008, 09:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



ginnie, 
НУ поидее выход это установка куков с датой устаревания now. Т.е. поидее это нормально то что он ставит такую куку.

Плагин HttpWatch нашел, но он платный.
PM MAIL WWW ICQ   Вверх
shamber
Дата 21.4.2008, 09:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



MaxPayne, поставте proxomitron он как прокси работает, бесплатный и можно просматривать запросы.
PM MAIL Jabber   Вверх
MaxPayne
Дата 22.4.2008, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



ginnie, Странно что ставит пустую, ведь из базы нужная кука удаляется.

zzexit.cgi

Код

#!/usr/bin/perl
use CGI qw(:all);
use CGI::Cookie;
use DBI;

$q = CGI->new();
$vc = $q->cookie('ses');

$dbh = DBI -> connect("DBI:mysql:3fun:localhost", "***", "***");
$dbh -> do("UPDATE user set temp=\"\" WHERE temp = \"$vc\"");
$dbh -> disconnect();

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

print "<script language='javascript'> location.href='http://www.3fun.ru/cgi-bin/zzlogin.cgi' </script>";
exit;


Может есть фишка еще в кавычках? В раличном написании: ' или ".


Это сообщение отредактировал(а) MaxPayne - 22.4.2008, 15:42
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.0552 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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