Как отслеживать пользователей на разных страницах, не используя куки и без написания внутреннего кода? - PullRequest
0 голосов
/ 22 января 2019

Мне нужно отслеживать пользователей по страницам без использования куки.У меня нет доступа к веб-серверу, поэтому мое решение должно запускаться с некоторого JS, который может загрузить каждая страница.

В настоящее время я использую ужасное решение IP + timestamp.

Так что егоНавигация может выглядеть следующим образом:

  • 13: 21: 11 /index.php

  • 13: 21: 15 /shop.php

  • 13: 21: 35 /blue-shirt-1.php

В настоящее время для отслеживания его сеанса у меня есть некоторая логика, например, уникальный IP +, по которому перемещаютсяза последние 10 минут.

Это нормально, если каждый пользователь посещает сайт один раз и только в течение 10 минут или посещает очень редко, также в течение 10 минут.Но мне нужно уметь понять эти два сценария:

  • Если он сидит в /blue-shirt-1.php в течение получаса, а затем нажимает другую ссылку, это должно бытьсчитается частью одного сеанса.

  • Если он закрывает браузер или переходит на другой веб-сайт, а затем возвращается через 5 минут, это следует считать другим сеансом.

Есть ли способ сделать это?

Примечание. Я не могу использовать куки-файлы из-за проблем с соблюдением GDPR.

Любые идеи очень ценятся.

1 Ответ

0 голосов
/ 22 января 2019

Альтернативой сеансам на основе файлов cookie может быть сеанс на основе URL.

Вы можете сгенерировать свои собственные сессионные идентификаторы и использовать их в качестве параметров, таких как index.php?id=XXX, а если нет идентификатора, вы можете сгенерировать новый.

Вам также следует взглянуть на управление сеансами на основе PHP в URL: http://www.php.net/manual/en/session.configuration.php#ini.session.use-trans-sid

Обратите внимание, что в этом случае пользователь может подделать новый идентификатор сеанса или использовать идентификатор другого пользователя. За это Вы можете отслеживать идентификаторы с пользователями IP и удерживать их после выхода одну страницу на мгновение (например, с помощью onbeforeunload), и если данный sessionid не существует, вы также можете сгенерировать новый ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...