2012-06-29 5 views
1

Как Piwik кодирует идентификатор посетителя в стороннем cookie _pk_uid?Piwik: извлечение idvisitor из третьих файлов cookie?

Я новый пользователь Piwik, пытающийся отслеживать пользователей через домены. Я нашел раздел Piwik FAQ, который, казалось многообещающим: http://piwik.org/faq/how-to/#faq_118

Он говорит, что, когда я включаю сторонних печенье, Piwik будет создавать сторонние куки, содержащий уникальный идентификатор для посетителя, который является таким же, как idvisitor поле некоторых таблиц MySQL.

Беда в том, что я не могу показаться, чтобы выяснить, как idvisitor кодируется в третьей стороной печенье (по имени _pk_uid, ранее piwik_visitor я думаю) --и, на самом деле, я скептически к ли это на самом деле содержится в файле cookie!

Вот значение куки я смотрю:

0%3DczoxNjoiMmMwMWY5OGU0MzFkNWQxOSI7%3A_%3Df6f84dfd6626b538220696bb070d22f8ae2af6ee 

И идентификатор посетителя, который должен содержаться в это:

2c01f98e431d5d19 

ответ

2

Так что это мое наблюдение fr ом мой собственный сайт.

  1. Числа перед первой точкой является user_id (_id)
  2. Далее, есть UNIX Отметка времени первого визита этого посетитель. (_ ИДЦ)
  3. 5 является текущим значением счетчика посещений для этот посетитель. (_ idvc)
  4. Я предполагаю, что это временная метка UNIX последнего действия на сайте.
  5. Временная метка UNIX времени предыдущего посещения этого посетителя.

Вот пример с моего сайта. Сначала есть файл cookie, и есть параметры, отправленные скриптом piwik.

_pk_id.19.c40d=baa767bdf0dfe66d.1379976944.5.1380357406.1380061476.; 

_id:baa767bdf0dfe66d 
_idts:1379976944 
_idvc:5 
_viewts:1380061476 
0

Хотя немного устарел, но так как я В настоящее время я ищу это. Насколько я могу вычесть (не на 100% уверен), вам сначала нужно преобразовать файлы cookie в шестнадцатеричные, а затем от основания 16 к основанию 10.

0

Это, как я получаю visitorId в PHP:

$cookieArray = explode(":", $_COOKIE['_pk_uid']); 
$visitorIdArray = explode(":",base64_decode(substr($cookieArray[0],2,31))); 
$visitorId = str_replace('"','',$visitorIdArray[2]); 
Смежные вопросы