Подскажите, пожалуйста, как организовать хранение настроек пользователей: в cookie или в базе данных? Например, пользователь на сайте выбрал, что он из города Самары, соответственно - ему показывается информация(объявления) для этого города. Также он выбрал себе в избранное определенные позиции товаров. В результате мы имеем id города и id понравившихся товаров.
Вопрос в чем: эти данные можно установить пользователю в Cookie и при его посещении сайта получать эти идентификаторы! Но, этих данных может быть очень много!
Это навело мне на мысль, что можно устанавливать пользователю в Cookie идентификатор, а все его настройки хранить в базе данных.
Таким образом, он заходит на сайт, мы получаем идентификатор Cookie, которые установили до этого. По идентификатору ищем в базе строку, где хранится вся инфа и дальше с ней работаем. После этого обновляем в базе дату Cookie и снова устанавливаем их пользователю.
Но насколько это оправданно? Если каждый запрос к странице будет сначала доставать данные пользователя, затем обновлять дату, чтобы определить активность пользователя. Не станет ли базе тяжко выполнять при значительной посещаемости?
Вижу, что на популярных сайтах вроде авито и т.д. есть id пользователей и никакая конкретная информация типа geo_id и т.д. не устанавливается. Как это работает, кто имеет опыт или какие мысли?
Заранее спасибо!
Ваш вариант с идентификатором в Cookies очень похож на существующую систему сессий в PHP. Все что записано в массив $_SESSION будет храниться на сервере в специальных файлах, а пользователь получит куку-идентификатор (phpsessid) по которой при каждом запросе данные в $_SESSION будут восстановлены.
Минус такого метода, что по умолчанию время жизни сессии - до закрытия браузера. Это можно настроить, но это не лучшее решение.
Поэтому обычно используют свою собственную куку для идентификации пользователя.
И да, данные положено хранить именно в базе данных а никак не в куках. В куках только идентификатор для их получения.
Во-первых потому что куки доступны для модификации пользователем, а это потенциальная брешь в безопасности.
Во-вторых если данных довольно много, то это увеличение объема трафика и времени открытия страницы, так как куки передаются браузером каждый раз при каждом запросе на сервер.
Ну и в третьих это просто неудобно, с куками тяжело работать, не предназначены они для хранения объемных данных.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Устанавливаю вот такой вот модуль https://opencartforumcom/files/file/1011-dostavka-po-oblastyam-na-karte/ , но по какой-то причине не меняется его статус и он не хочет работать
Можно ли использовать инструкцию echo внутри массива $_SESSION? Нужно, чтобы каждый элемент массива имел уникальное имя
Создаю сайт на wordpress, тема onepressСоздал дочернюю тему