Новости‎ > ‎

Отслеживание данных пользовательской деятельности

Отправлено 16 мар. 2012 г., 5:18 пользователем Denis Baskovsky
Сперва выбор пал на создание отдельной таблицы для MySql, в которой хранились ip адреса. Но этот выбор оказался со множеством недостатков. На данный момент используется протокол ipv4, который морально устаревает на глазах. Моя версия Php плохо работала с протоколами ipv6. А вместе со слабым mysql на сайте эта затея оказалась слишком затратной. К тому же сейчас стараются экономить на адресах пользователей и давать либо динамические адреса, либо через прокси юзать один адрес.
По этому пришлось присмотреться к cookies. На первый взгляд решение было очевидным - использовать cookies где угодно. Но реальность оказалась слишком суровой. Многие пользователи стараются выключать cookies, другие удаляют, третьи могут постоянно менять браузеры. Ну и к тому же место под cookies очень ограниченное - около 4кб.
Оставалось два варианта - web sql и local storage.
Web sql - отличная вещь, к тому же большинство браузеров уже умеют с ними работать. Но после просмора сайта W3C - узнал, что рекомендация одна - не использовать его.
Для отслеживания пользовательской деятельности на сайте решил использовать localStorage. Это локальное хранилище данных, созданное специально для HTML 5 и имеющая множество достоинств, таких как - увеличенный объем хранилища (на разных браузерах варьируется между 5мб до 10мб), полное взаимодействие с javascript.
Opera 11+, IE 8+, Firefox 4+ уже умеют работать с localStorage. Самое сложное оказалось подружить его с php через ajax. Т.к. local Storage это клиентский инструмент, я не нашел ничего удобнее чем при помощи jQuery передавать данные на сервер, который генерировал и выдавал мне нужный id.
В конечном итоге, пришлось писать также и поддержку Cookies - мало ли что. Объем кода оказался не большим. А вот тестирование с незнакомой технологией всегда идет на пользу.
Comments