Xpoint
   [напомнить пароль]

Проблемы с cookie в статистике

Метки: [без меток]
[арх]
2005-04-20 12:25:55 [обр] bh[досье]
сообщение промодерировано

Появилась проблема при разработке статистики.
Задача примерно следующая...
Есть server1 на котором размещена система статистики, которая каждому зарегистрированному пользователю выдает код счетчика.
Предположим есть сайт на server2 и код счетчика для этого сайта следующий:

<script src="http://server1/code/?id=12345"><script>

Этот код благополучно обращается к ПХП скрипту, который анализирует инфу и возвращает кнопку. Чтобы велась статистика по посетителям (т.е. по cookie) этот куки нужно создать, но он почему-то не создается.

Как пример рассмотрим следующий пхп-код (на server1):

<? 
if (!isset($_COOKIE["stat_id"])) { 
  $c=rand(1,99999);
  setcookie("stat_id", $c, time()+365*24*3600, "/"); 
} else $c=$_COOKIE["stat_id"]; 
print "alert('$c')"; 
?>

Локально все работает, но как только размещается все на хостинге.. Куки не создаются...

Может кто-то что-то посоветует?

спустя 22 минуты [обр] Aleksey aka RADiActive[досье]
Куки создаются на server1, а к server2 они уже не имеют никакого отношения.
спустя 33 минуты [обр] bh[досье]
Правильно! Именно на server1, вот только при каждом повторном заходе куки новый! он не сохраняется..
В этом то и вся роблемма.
спустя 1 час 31 минуту [обр] Aleksey aka RADiActive[досье]

Если server1 и server2 имеют различные доменные имена, то cookie работать не будут.
Иначе:

setcookie("cookiename", "value", $lifetime, "/", ".site.com");

Cookie будут доступны на узлах: server1.site.com, server2.site.com и т.д.

P.S. :) попробовал у себя, тоже не выходит... странно...

спустя 4 минуты [обр] bh[досье]
В том то и дело, что разные доменные имена)))
Но объясни мне тогда почему у того же РАМБЛЕРА, МАИЛ.РУ, ТОПИНГа, БИГМИРА, РАКСА куки работают?
Должен быть способ!
спустя 1 час 29 минут [обр] Дмитрий Попов(0/509)[досье]
bh[досье]
Учимся локализовывать ошибку.
  1. Напрямую скрипт с куками вызывать пробовали? Что получалось?
спустя 2 минуты [обр] bh[досье]
Да напрямую какраз все работает.. Куки создаются и храняться...
спустя 9 минут [обр] Дмитрий Попов(0/509)[досье]

Тогда ищите разницу, между кнопками РАМБЛЕРА, МАИЛ.РУ, ТОПИНГа, БИГМИРА, РАКСА и вашим.

Проанализируйте заголовки, изучите код, которого там нет. Найдите разницу. И попробуйте понять, что именно так влияет на работу скрипта.

У меня есть как минимум два подозрения, однако будет лучше если Вы это сами определите и расскажете (от меня это может быть только гиппотизой, что не есть хорошо).

спустя 15 минут [обр] bh[досье]
Я уже все перепробовал что мог... Так что даже гипотеза мне не повредит))
спустя 1 минуту [обр] bh[досье]
Я бы с удовольствием проанализировал, вот только исходников они мне не предоставят)))
спустя 2 минуты [обр] Алексей Севрюков(0/1280)[досье]
bh[досье] Чтобы анализировать куки - исходники не нужны. Достаточно просто посмотреть заголовки с сервера, используя HEAD или GET.
спустя 4 минуты [обр] bh[досье]
А ну куки стандртные.. Создаются именно для того сервера, на котором лежит статистика... В конкретном случа для rambler/
Но у меня кук вообще не создается!!!
спустя 2 минуты [обр] Дмитрий Попов(0/509)[досье]
Хорошо... Давайте по другому:
  1. Вы проанализировали заголовки?
  2. Вы пробовали делать как на указанных Вами сайтах - т.е. через <img>?
спустя 3 минуты [обр] bh[досье]
Аналогичная ситуация...
Куки не создаетяс
спустя 19 минут [обр] Дмитрий Попов(0/509)[досье]
bh[досье]
# Вы проанализировали заголовки?
спустя 7 часов [обр] DJ G.E.D(0/101)[досье]
Кстати, обанализе заголовков -
http://www.rexswain.com/httpview.html
http://analyzer.polito.it/
спустя 10 часов [обр] Прокаев2(0/35)[досье]
Сам когда-то сталкивался с этим.
Заголовок P3P вас спасет.
спустя 5 минут [обр] bh[досье]

А можно поподробнее и с примером?

Заранее спасибо

спустя 28 минут [обр] Прокаев2(0/35)[досье]
header('P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"');
спустя 2 минуты [обр] bh[досье]
хм... и что мне с этим заголовком делать?!
Куда его пихать???
спустя 3 часа 55 минут [обр] Прокаев2(0/35)[досье]

а проверить ?

надо написать эту сроку перед setcookie
поищите third party cookies p3p в google

спустя 1 минуту [обр] bh[досье]
ок! Спасибо)
спустя 22 часа [обр] bh[досье]
Отлично с этим заголовком все работает))
Спасибо огромное)) Выручил)
спустя 2 месяца 12 дней [обр] Алексей В. Иванов(9/2861)[досье]
М Перенесено из форума "Программирование::PHP"
спустя 19 минут [обр] Владимир Палант(49/4445)[досье]
Стандартные установки для Cookies в Gecko-браузерах (Mozilla, Firefox): originating site only. Иначе говоря, никаких картинки, никакие скрипты, загружаемые с других доменов, установить cookie не смогут (это касается и Рамблера). На P3P ориентируется исключительно Internet Explorer, вообще-то этот заголовок должен указывать на то, что сайт будет делать с Cookie — смысл сомнителен, поскольку все вот так и вставляют этот заголовок, не понимая его значения. Opera, кстати говоря, по умолчанию принимает любые куки, это странно.
Powered by POEM™ Engine Copyright © 2002-2005