Хочу написать свои сессии, которые будут храниться в sql.
Создал таблицу sessions с 4-мя полями: id, key, value, time.
$session->add('ключ сессии', 'значение сессии'); // создаём сессию
$session->get('ключ сессии'); // получаем значение сессии
$session->delete('ключ сессии'); // удаляем сессию
Вроде бы всё хорошо. Но как привязывать сессию к пользователю? По IP глупо, так как могут два компьютера с одинаковыми IP быть одновременно на сайте и тогда неизвестно что получится.
Для пользователя выполнившего вход(авторизацию) у меня сделано вот так : в базу, в таблицу users_sessions пишем :
session - 128-значный ключ сессии(любые 3 позиции из данных пользователя + текущее время в мили.сек. оборачиваем в md5)
users_id - уникальный id пользователя, который пользуется этой сессией
date_updated - время последнего обновления(если хотим чтобы сессия были короткими)
с каждым заходом пользователя на сайт мы делаем проверку на существование сессии в базе(128-значный ключ отдаём пользователю в печеньки(cookies) когда тот выполнил вход)
Выдавать пользователю GUID и хранить его в куках, например...
Может брать существующую сессию и просто хранить ее в бд с привязкой дополнительной инфы. Зачем изобретать велосипед?
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
echo $number_date['дата']; выводит все даты
Есть заявки, у заявки есть параметры, каждый параметр в своей таблицеНадо выбрать заявки которые подходят под условия
Есть таблица "фразы" с полем "фраза"Есть таблица "фильтр" с полем "слово"