Cokies
|
osav 09/01/04 10:47 PM |
|
Почему у меня в оперу попадают "просроченные" кукисы???. В FF все ок.
|
Re: Cokies
|
Mongoose 09/02/04 05:57 AM |
|
Что значит "просроченные"?
|
Re: Cokies
|
osav 09/02/04 08:19 PM |
|
Все кукисы, полученные после введения логина имеют дату истечения 1970 год. Системные часы идут правильно (только что синхронизировал). В FF проблемы нет...
|
Re: Cokies
|
osav 09/02/04 08:22 PM |
|
Хе-хе... В ручную дату в этих кукисах подправил и пашет... Но в принципе интересно, в чем дело. Баг? Вряд ли... Но что???
|
Re: Cookies
|
van_grieg 09/03/04 05:58 AM |
|
Просто не могу себе представить, каким образом браузер может влиять на дату в данном случае (хотя не могу сказать, что я эксперт в этой области). Предположить могу два варианта. Первый - Proxomitron или другой прокси. Второй - сайт каким-то образом определяет Оперу и дает ей такие вот странные куки. Третий - сервер вообще не сообщает дату. В этом случае она получается нулевой (т.е. с точки зрения UNIX timestamp - как раз 70-й год), и действовать будет только в течение сессии. Но дело в том, что FF и IE ведут себя в данном случае точно так же, как и Опера.
Каким образом узнать, что происходит? Если стоит Proxomitron, выключить все фильтры и включить лог, если не стоит - поставить, выключить все фильтры и включить лог. Куда смотреть в этом логе? Вот на такой диалог примерно:
+++GET 18+++
POST /home/index.php HTTP/1.1
User-Agent: Opera/7.60 (Windows NT 5.1; U) [en]
Host: _//www.foo.bar_
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: en
Accept-Charset: windows-1251, utf-8, utf-16, iso-8859-1;q=0.6, *;q=0.1
Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0
Referer: _//www.foo.bar/home/index.php_
TE: deflate, gzip, chunked, identity, trailers
Content-Type: application/x-www-form-urlencoded
Content-Length: 42
Connection: keep-alive
Posting 42 bytes...
+++RESP 18+++
HTTP/1.1 200 OK
Date: Fri, 03 Sep 2004 05:45:08 GMT
Server: Apache/1.3.31 (Unix) mod_auth_passthrough/1.8 mod_log_bytes/1.2 mod_bwlimited/1.4 PHP/4.3.8 FrontPage/5.0.2.2634a mod_ssl/2.8.18 OpenSSL/0.9.7a
X-Powered-By: PHP/4.3.8
Set-Cookie: PHPSESSID=38d476e2bbf0a5750b8ac59029704859; expires=Sat, 03-Sep-05 05:45:08 GMT; path=/; domain=.foo.bar
Expires: Thu, 02 Sep 2004 20:00:00 EDT
Cache-Control: private, proxy-revalidate
Pragma:
Set-Cookie: username=<твой юзернейм>; expires=Mon, 29-Aug-05 01:45:08 GMT; path=/; domain=.foo.bar
Set-Cookie: password=<твой пароль, возможно зашифрованный>; expires=Mon, 29-Aug-05 01:45:08 GMT; path=/; domain=.foo.bar
Transfer-Encoding: chunked
Content-Type: text/html; charset=windows-1251
+++CLOSE 18+++
Важен тот кусок диалога, который имеет место в момент авторизации на сервере, то есть когда ты пользуешься Wand'ом. Ну и думаю понятно, что вместо foo.bar должен быть нужный тебе домен, а вместо /home/index.php - путь к скрипту, который производит авторизацию. Между +++GET(номер)+++ +++RESP(номер)+++ в логе может быть еще что-нибудь, это неважно. Но диалог запрос-ответ надо смотреть с одинаковым номером. Узнать в логе запрос на авторизацию можно по application/x-www-form-urlencoded контент-типу (выделено жирным выше).
|
Re: Cookies
|
Mongoose 09/03/04 06:42 AM |
|
В ответ на: Все кукисы, полученные после введения логина имеют дату истечения 1970 год.
Ты не путаешь дату истечения с датой последнего посещения? Если 1970 год - это дата последнего посещения, то это значит, что на этот домен/сервер ты ещё не заходил после получения куки.
|
Re: Cookies
|
osav 09/03/04 11:58 AM |
|
Просто не могу себе представить, каким образом браузер может влиять на дату в данном случае Так говорю, в FF проблемы нет, а 7.54 и 7.60 есть. Предположить могу два варианта. Первый - Proxomitron или другой прокси. Нет Proxomitron'a и других проксей. Стоит файрволл, но там разрешены все куки, Опера отнесена к доверенным приложениям Второй - сайт каким-то образом определяет Оперу и дает ей такие вот странные куки. Третий - сервер вообще не сообщает дату. В этом случае она получается нулевой (т.е. с точки зрения UNIX timestamp - как раз 70-й год), и действовать будет только в течение сессии. Но дело в том, что FF и IE ведут себя в данном случае точно так же, как и Опера. В принципе, куки сохраняются, не сохраняются только те, что содержат логин и пароль. И так на всех серверах и сайтах, где требуется аутентификация. Ты не путаешь дату истечения с датой последнего посещения? В твоем переводе написано "Истекает"
|
Re: Cookies
|
Mongoose 09/03/04 01:34 PM |
|
В ответ на: В принципе, куки сохраняются, не сохраняются только те, что содержат логин и пароль.
Возможно галки "Удалять новые cookiesпри выходе из браузера" и "Не сохранять защищённые страницы в истории" в "Настройки/Конфиденциальность".
|
Re: Cookies
|
van_grieg 09/03/04 03:50 PM |
|
osav
Здесь что, клуб гадалок? Я тебе написал, как узнать, что передает сервер. Мангуст написал, какие настройки проверить. Дерзай, потом пиши о результатах, а не о том, что у тебя стоит, а что нет.
|
Re: Cookies
|
osav 09/03/04 07:20 PM |
|
+++GET 36+++ POST /start_page.php HTTP/1.0 User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) Opera 7.60 [ru] (IBM EVV/3.0/EAK01AG9/LE) Host: forum.myopera.net Accept: application/xhtml+voice+xml;version=1.2, application/x-xhtml+voice+xml;version=1.2, text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1 Accept-Language: en Accept-Charset: windows-1252, utf-8, utf-16, iso-8859-1;q=0.6, *;q=0.1 Referer: _//forum.myopera.net/_ Content-Type: application/x-www-form-urlencoded Content-Length: 73 Connection: keep-alive ** 36 Socket Error 10061 for connect() **
Это требовалось?
|
Re: Cookies
|
van_grieg 09/04/04 05:44 AM |
|
osav
А ответ где? Это попытка Оперы авторизоваться, закончившаяся ошибкой соединения.
|
Re: Cookies
|
osav 09/04/04 06:39 AM |
|
А вот когда хочшь авторизоваться, то страницы не открываются (если пользоваться Proxomitron'ом), появляется небольшой кусок HTML При этом в Поксомитроне разрешено все. Обычные страницы (без автоизвции) открываются нормально)
|
Re: Cookies
|
van_grieg 09/04/04 07:20 AM |
|
osav
Вот что получаю я:
+++RESP 2+++ HTTP/1.1 200 OK Date: Sat, 04 Sep 2004 07:09:55 GMT Server: Apache X-Powered-By: PHP/4.3.8 Set-Cookie: ......; expires=Thu, 16-Sep-04 07:09:55 GMT; path=/ Set-Cookie: ......; expires=Thu, 16-Sep-04 07:09:55 GMT; path=/
И так далее. При этом поскольку речь идет о данном сервере, то ни о каких вариантах типа посылать Опере другие заголовки речи быть не может. Авторизация через Proxomitron проходит нормально. Значит у тебя не все разрешено. Или файрволл бузит - попробуй его отключить. Чудес не бывает, браузеры куки не переписывают.
|
Re: Cookies
|
osav 09/04/04 09:48 PM |
|
+++GET 31+++
GET /counter?id=93052;t=109;js=13;r=http%3A//forum.myopera.net/;j=true;s=1024*768;d=32;rand=0.6933787493035197 HTTP/1.0
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) Opera 7.60 [ru] (IBM EVV/3.0/EAK01AG9/LE)
Host: top.list.ru
Accept: application/xhtml+voice+xml;version=1.2, application/x-xhtml+voice+xml;version=1.2, text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: en
Accept-Charset: windows-1252, utf-8, utf-16, iso-8859-1;q=0.6, *;q=0.1
Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0
Referer: _//forum.myopera.net/start_page.php_
Cookie: VID=......
Cookie2: $Version=1
Connection: keep-alive
+++RESP 30+++
HTTP/1.0 200 OK
Date: Sat, 04 Sep 2004 20:52:18 GMT
Expires: Thu, 01 Jan 1970 00:00:01 GMT
Content-type: image/gif
+++CLOSE 30+++
+++CLOSE 29+++
+++RESP 31+++
HTTP/1.0 200 OK
Server: 0W/0.6.1
Date: Sat, 04 Sep 2004 20:52:26 GMT
Content-Type: image/gif
Accept-Ranges: bytes
Content-Length: 321
Expires: Sun, 06 Jun 2004 20:42:00 GMT
Pragma: no-cache
Cache-control: no-cache
Connection: Close
+++CLOSE 31+++
** 27 Socket Error 10060 for connect() **
+++CLOSE 27+++
+++GET 32+++
GET /favlinker.php?Cat=&Entry=401&F_Board=opera7&Thread=14804&partnumber=&postmarker= HTTP/1.0
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) Opera 7.60 [ru] (IBM EVV/3.0/EAK01AG9/LE)
Host: forum.myopera.net
Accept: application/xhtml+voice+xml;version=1.2, application/x-xhtml+voice+xml;version=1.2, text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: en
Accept-Charset: windows-1252, utf-8, utf-16, iso-8859-1;q=0.6, *;q=0.1
Referer: _//forum.myopera.net/start_page.php_
Cookie: operaw3t_myid=1859; operaw3t_mysess=......; operaw3t_language=russian
Cookie2: $Version=1
Connection: keep-alive
** 32 Socket Error 10060 for connect() **
+++CLOSE 32+++
Файрволл вырублен
|
Re: Cookies
|
van_grieg 09/04/04 10:17 PM |
|
osav
То, что ты выделил жирным - это картинка. И заголовок Expires для нее значит только то, когда браузер в следующий раз должен проверить ее на обновление. В данном случае он говорит, что ее надо проверять всегда.
Попробую объяснить еще раз. Надо поймать диалог браузера с сервером в момент логина. Нужно ту часть лога, где есть следующее:
+++GET(НОМЕР)+++
......
Content-Type: application/x-www-form-urlencoded
......
+++RESP(ОБЯЗАТЕЛЬНО ТОТ ЖЕ НОМЕР!!!)+++
......
Set-Cookie: дальше текст и дата
......
В том, что ты привел, ничего этого нет. В твоем логе сервер вообще не передает никаких Cookies.
В информации, которая есть, смущают две вещи. Во-первых, вот это -
Accept-Charset: windows-1252, utf-8, utf-16, iso-8859-1;q=0.6, *;q=0.1
Не связано с куками никак, но проблем с определением кодировок у тебя не возникает случайно при таких настройках?
Во-вторых (и это главное) - постоянные Socket Error 10060. Это ошибка соединения. Поиск в Гугле дает информацию, что вызывается она чаще всего файрволлами. Какой у тебя файрволл? Операционная система? Если XP, то не включен ли "родной" файрволл? Ставил ли ты SP2?
И последнее. Вопрос может показаться странным, но ты когда логинишься, галку "Помнить меня каждый вход" ставишь?
|
|