[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Отслеживания пользователей
Timok
Обстановка: будущий магазинчег, регистрации не предусматривается (ибо нафик)
Когда пользователь обращается к сайту, система проверяет, имеется ли у него кука с идентификатором сеанса.
Если имеется - обращается в БД за инфой о пользователе.
Если не имеется - генерирует этот идентфикатор, записывает его в куки и создаёт новую запись в таблице.

Проблема: куки отключены. Нет, мне конечно плевать на этого ..., который их отключает, но тогда при каждом обращении такого пользователя к сайту, мне в таблицу будет добавляться новая запись. К тому же есть ещё боты всякие. В итоге - засчёт левых записей растёт размер таблицы и к тому же получается ложная статистика посещений.

Вопрос: как избежать?

Единственная идея: проверять HTTP_REFERER (если содержит имя сайта, то нефик создавать новую запись). Но это не айс, т.к.
во-1: некрасиво;
во-2: юзер (с отключенными куками) может просто несколько раз приходить на сайт (из адресной строки, с другого сайта) и тогда этот способ не сработает.

Встречный вопрос 1: нафик мне вообще каждый раз идентифицировать юзера?
Ответ: корзина, со всякой чепухой, которую он таскает от страницы к странице. И нужно всегда показывать чё у него там и на какую сумму.

Встречный вопрос 2: чем стандартные сессии не нравятся?
Ответ: не хачю! smile.gif тем более, что нужно хранить инфу о пользователе между его визитами на сайт, т.е. без кук и базы данных всё равно не обойтись

Встречный вопрос 3: почему бы не сделать регистрацию?
Ответ: В какое место вы пошлёте продавца, если вы пришли в магазин за сигаретами, а у вас там спрашивают логины, пароли, имена, адреса, визу и загранпаспорт, а потом ещё просят подождать полчаса и подтвердить регистрацию по почте?



Спустя 4 минуты, 48 секунд (3.06.2007 - 16:16) Ghost написал(а):
1. забить на... у которых отключены куки - им выдавать персональное предупреждение.
2. для этих ... генерировать для идентификации заместо куки сессию, в которой и будет хранится ее идентификатор... но лучше забить smile.gif

Спустя 10 минут, 9 секунд (3.06.2007 - 16:26) Timok написал(а):
как мне проверить-то - включены куки или нет? Единственный способ который знаю - это при первом обращении посылать куку и тут же делать редирект с каким-нибудь параметром в GET, а дальше проверять - если есть этот параметр, а куки нет - значит они отключены. Но получается ведь, что надо или повторять это при каждом обращении или проставлять этот параметр во всех ссылках и формах. Гемор какой-то... sad.gif

Спустя 2 минуты, 49 секунд (3.06.2007 - 16:29) Ghost написал(а):
проверять куку - 1 раз, потом - проверять наличие переменной в сессии

Спустя 27 минут, 24 секунды (3.06.2007 - 16:57) vasa_c написал(а):

Спустя 21 минута, 31 секунда (3.06.2007 - 17:18) Timok написал(а):
да читал я...
не могу никак понять вот этот пункт:
Цитата
2. Браузер с отключенными куками первый раз зашел на сайт

что в данном случае нам даёт опреледение клиента? Ведь мы всё равно не узнаем, включены ли у него куки sad.gif

---

опа... кажется догнал smile.gif
про опреление клиента где подробнее почитать? Т.е. какие HTTP_USER_AGENT пропускать, а какие нет?

Спустя 13 минут, 21 секунда (3.06.2007 - 17:31) vasa_c написал(а):
Содержится "Mozilla" — Mozilla, FireFox, IE, старая Opera
Содержится "Opera" — последнии оперы.
Для Сафари, Конкуерра и Лункса не помню, посмотреть можно думаю где-нибудь.

Спустя 3 минуты, 40 секунд (3.06.2007 - 17:35) vasa_c написал(а):

Спустя 4 дня, 4 часа, 30 минут, 35 секунд (7.06.2007 - 22:06) superman написал(а):
Цитата(Timok @ 3.6.2007, 13:26) [snapback]21869[/snapback]
как мне проверить-то - включены куки или нет? Единственный способ который знаю - это при первом обращении посылать куку и тут же делать редирект с каким-нибудь параметром в GET, а дальше проверять - если есть этот параметр, а куки нет - значит они отключены. Но получается ведь, что надо или повторять это при каждом обращении или проставлять этот параметр во всех ссылках и формах. Гемор какой-то... sad.gif

Куку можно проверить javascript-ом. без редиректов всяких. Правда у юзверя браузер может без джаваскрипта(текстовый к примеру rolleyes.gif ). Тогда непонятно. Но это совсем крайняк

Спустя 11 часов, 46 минут, 11 секунд (8.06.2007 - 09:52) vasa_c написал(а):
superman, как проверить куки на сервере?

Спустя 9 минут, 25 секунд (8.06.2007 - 10:01) md5 написал(а):
superman может все, особенно открыть бутылку пива бочком от унитаза

ps. vasa_c, не смотри ему в глаза smile.gif

Спустя 1 час, 26 минут, 22 секунды (8.06.2007 - 11:28) AlexBB написал(а):
Цитата(Timok @ 3.6.2007, 17:11) [snapback]21865[/snapback]
В итоге - засчёт левых записей растёт размер таблицы и к тому же получается ложная статистика посещений.


Я думаю это решать надо так же, как это решают и стандартные сессии - периодической чисткой таблицы, либо по крону либо по генератору случайных чисел в самом скрипте. Статистика посещений, конечно, будет не совсем точная ... но она собсвенно всегда такая =)

Спустя 1 месяц, 3 дня, 14 часов, 47 минут, 37 секунд (12.07.2007 - 02:15) xaxaTyH написал(а):
Цитата
Проблема: куки отключены.


эм .. вот с этого и остановился бы ... никогда не видел нечто http://site.ru/index.php?PHPSESSID=ddsadasdaskj432j4jdasdjsa ????

Сие есть решение команды создателей php проблемы с выключеными куками ...

Спустя 4 часа, 17 минут, 19 секунд (12.07.2007 - 06:33) Rem написал(а):
это типа умного состроил?
Цитата
Встречный вопрос 2: чем стандартные сессии не нравятся?
Ответ: не хачю! тем более, что нужно хранить инфу о пользователе между его визитами на сайт, т.е. без кук и базы данных всё равно не обойтись

Спустя 4 часа, 2 минуты, 2 секунды (12.07.2007 - 10:35) xaxaTyH написал(а):
Код
session_set_cookie_params(мильонтысячлет);
session_start();
$_SESSION['название элемента массива'] = вгоняем в массив сессии переменные, которые нужны для работы (а лучше айди пользователя в базе ... , а уже по нему и вытаскивать)


Если у юзера заблочены куки, то сессион старт на след странице передаёт сессию в строке браузера и потом сама и забирает get'ом

Это всё хорошо когда ты на сайте ... а если ты не на сайте и у тебя нет куки - ты дурак. Странно заморачиваться этой проблемой

отключидли куку - их проблема ...

Можно конечно замутить регу по айпи и браузеру ... и при входе на сайт (при каждом переходе на страницу) сравнивать его айпи и http_user_agent с данными в базе, но это долго достаточно
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.