Объясните логику работу с $_SESSIONS
$_SESSION["user_id"]=$DB->result($result,1);
$_SESSION["last_activity"]=date("YmdHi");
$_SESSION["status"]=0;
так вот. а как-то лазил я по движкам форумов.. там данные сесси хранятся в БД. Вот я думаю почему?? Ведь работать напрямую с $_SESSIONS[] намного быстрее чем с БД!!!
$_SESSION["user_id"]=$DB->result($result,1);
$_SESSION["last_activity"]=date("YmdHi");
$_SESSION["status"]=0;
так вот. а как-то лазил я по движкам форумов.. там данные сесси хранятся в БД. Вот я думаю почему?? Ведь работать напрямую с $_SESSIONS[] намного быстрее чем с БД!!!
Всё правильно. БД для того и существует, чтобы было удобнее. Файлы - чтобы быстрее.
Фактически, всё можно сделать на куках + файлы или БД. Единственное, что я увидел в сессиях, отличающегося от вышенаписанного подхода - сессии PHP сами идентификатор в ссылки подставляют, если в браузере куки отключены. Всё. Пока больше преймуществ я не заметил, несмотря на трёхлетнее созерцание всего этого механизма.
PS. Да и это преймущество видится мне скорее недостатком: Нафига нужна вся эта красота с PHPSESID'ами полметровыми в поисковиках (у них-то точно куки отключены).
я просто хочу понять в чем преимущество хранить данные сессии в БД??
Просто имхо намного быстрее и удобнее работать с массивом $_SESSIONS, чем выполнять запросы к БД. Но вель движки различные работают с БД. Просто хочу узнать чем это выгоднее...
Логика проста: мало и ненадолго - сессии, много и надолго - БД.
Есть случаи когда используют БД для хранения информации о сессии - тебе это пока не надо.
Спасибо. Думаю можно закрыть тему
Все. Завязываю со встречей выпускников... А то от пива 2 неделю подряд уже башка не варит(((
Все. Завязываю со встречей выпускников... А от пива 2 неделю подряд уже башка не варит(((
гм-гм... Ну, вобщем-то, ты это... с пиффком завязывай :D
В БД же данные хранять столько времени, сколько тебе нужно. Пока сам их не затрешь. Кроме того использование сессии может быть потенциальной дырой при невнимательном проектировании системы. Ведь SID автоматом пишется в URL и если юзверь даст кому-то ссылку с этим SID, то этот кто-то другой (не авторизованный) зайдет на сайт под этой ссылке авторизованным.
В первом приближении можно придерживаться такого правила. Первый раз юзверь вошел на сайт и прошел авторизацию, то делаем запрос к БД и дергаем нужные данные. Пишем их в сессию, SID передает через куки отрубив автопередачу через URL и потом уже дергаем сессию и лишний раз не тревожим БД. Получаем с клиента куки с SID, смотрим если ли такая сессия у нас (может её уже сборщик мусора затер), если есть, юзаем её, нет значит делаем запрос к БД и стартуем новую сессию прописав нужные данные из запроса в сессионные переменные.
чокнулся??? ягуар ваще не пей - равносильно водке с burn'ом ))))
Ну короче она отрубилась в глубокий литоргический сон и ниче не помнила))) Так что Ягуар, ...., вещь сногсшибательная!!! :D
PS: модераторы плз не бейте за оффтопы)))
Ну короче она отрубилась в глубокий литоргический сон и ниче не помнила))) Так что Ягуар, ...., вещь сногсшибательная!!! :D
PS: модераторы плз не бейте за оффтопы)))
да, для подруг конечно самое то ;)
бёрн - аццкая вода. давно кстати не пил, надо б взять...
PS Я конечно понимаю, что пиво и программирование вещь неразделимая, но всё же)