Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: изменение чужой сессии по SID
 
 автор: Дмитрий Смаль   (27.12.2011 в 17:13)   письмо автору
 
 

Здравствуйте!
интересует такой вопрос
данные в сессии хранятся на сервере в конкретном файле
можно ли изменить эти данные если это чужая сессия и есть ИД этой сессии?
подобных функций в пхп не нашел.. вообще такое возможно?

  Ответить  
 
 автор: cheops   (27.12.2011 в 17:17)   письмо автору
 
   для: Дмитрий Смаль   (27.12.2011 в 17:13)
 

Ну на столько, насколько вы позволяете изменять данные сессии её владельцу. Если есть возможность, например, в личном кабинете менять данные сессии - можно будет изменить.

  Ответить  
 
 автор: Дмитрий Смаль   (27.12.2011 в 17:49)   письмо автору
 
   для: cheops   (27.12.2011 в 17:17)
 

Вопрос как раз в том что менять данные будет не владелец а пхп скрипт который знает ИД нужной сессии.
Поясню - один пользователь написал другому письмо. Чтобы другой увидел что есть письмо ему нужно делать запрос в БД. Соответсвенно актуальность наличия нового письма будет зависеть от частоты запросов другого пользователя к БД.
На сколько мне известно то сессии пользователей хранятся на сервере.
Соответсвенно если оба пользователя онлай и один написал другому то ведь проще сразу внести изменения в сессию другого пользователя чтобы он не делал постоянные запросы к БД.
вот меня интересует вопрос как можно изменять ЧУЖУЮ сессию с помощью пхп если у нас есть ИД этой сесиии

  Ответить  
 
 автор: cheops   (27.12.2011 в 19:00)   письмо автору
 
   для: Дмитрий Смаль   (27.12.2011 в 17:49)
 

В классическом варианте сессий, реализованном в PHP, нельзя - ну только разве что искать файл с таким названием на жестком диске, читать, изменять, записывать. Гораздо удобнее, перегрузить механизм сессий, заставив PHP, например, хранить сессии и их данные в базе данных. В этом случае - в этом случае ваши возможности по манипуляции содержимым возрастают многократно.

  Ответить  
 
 автор: Дмитрий Смаль   (29.12.2011 в 13:27)   письмо автору
 
   для: cheops   (27.12.2011 в 19:00)
 

В классическом варианте сессий, реализованном в PHP, нельзя - ну только разве что искать файл с таким названием на жестком диске, читать, изменять, записывать. 

вот я об этом и подумал
попробавал на локале (установлен denver)
файл находится, но вот чтение и изменение не работает
тут очевидно нужно еще настроить права доступа для пхп

  Ответить  
 
 автор: cheops   (29.12.2011 в 13:50)   письмо автору
 
   для: Дмитрий Смаль   (29.12.2011 в 13:27)
 

Не очень ненадежный и проблемный путь. Если очень нужны данные сессии, лучше её перегрузить при помощи функции session_set_save_handler() и хранить данные там, откуда вам будет проще к ним обратиться. Возможно вам также будет интересна тема по ссылке http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=5253.

  Ответить  
 
 автор: Lotanaen   (29.12.2011 в 13:32)   письмо автору
 
   для: Дмитрий Смаль   (27.12.2011 в 17:49)
 

А что Вы желаете получить в итоге? Ведь все равно пользователю нужно будет обратиться к серверу, что бы узнать про изменения в его сессии...

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования