0 Пользователей и 1 Гость просматривают эту тему.
  • 4 Ответов
  • 459 Просмотров
*

ColdRaven

  • Осваиваюсь на форуме
  • 40
  • 0 / 0
  • Let's Rock!!))
Добрый день!

Возникла необходимость залезть в данные сессии "не текущего" пользователя, имея на руках ID этого пользователя и очистить ее от заботливо ($session->set() ) заполненной ранее переменной, при этом не сбрасывая сессию целиком, т.е. пользователь должен остаться залогиненным.

unserialize() поля 'data' из #__session возвращает ошибку, поэтому с этим работать не вариант.

Подскажите, пожалуйста, есть ли в Joomla такая возможность?
*

dmitry_stas

  • Легенда
  • 13152
  • 1232 / 8
Re: Сессия другого пользователя
« Ответ #1 : 25.01.2016, 18:57:57 »
base64_decode
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

ColdRaven

  • Осваиваюсь на форуме
  • 40
  • 0 / 0
  • Let's Rock!!))
Re: Сессия другого пользователя
« Ответ #2 : 25.01.2016, 19:11:40 »
base64_decode() возвращает false
« Последнее редактирование: 25.01.2016, 19:15:25 от ColdRaven »
*

ColdRaven

  • Осваиваюсь на форуме
  • 40
  • 0 / 0
  • Let's Rock!!))
Re: Сессия другого пользователя
« Ответ #3 : 25.01.2016, 20:17:34 »
UPD
Нашел в классе JSessionStorageDatabase вот такой код:
Код
$data = str_replace(chr(0). '*' . chr(0), '\0\0\0', $data);
Сделал обратную замену, убрал из начала строки '__default', и после этих манипуляций, unserialize выдал вполне адекватный массив.

Однако, после удаления двух элементов, сериализации, возврата всех проделанных замен и апдейта этого поля в #__session, авторизация пользователя, к которому были применены такие изменения все равно слетает.

Есть возможность работать с чужой сессией без подобных костылей? Или если нет, подскажите, пожалуйста, в чем, собственно, косяк?
*

dmitry_stas

  • Легенда
  • 13152
  • 1232 / 8
Re: Сессия другого пользователя
« Ответ #4 : 25.01.2016, 20:51:18 »
не знаю в чем косяк, но у меня в Ж 3.4.8 поле date начинается с
Код
joomla|s:1452:"Tzoy
так вот Tzoy... - и есть base64 кодированная строка. base64_decode вполне себе возвращает
Код
O:24:"Joomla\Registry\Registry":2:{s:7:"*data";O:8:"stdClass":1:
и так далее
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Регистрация пользователя

Автор Alex Walex

Ответов: 1
Просмотров: 150
Последний ответ 29.03.2021, 08:33:35
от Taatshi
Подписаться на категорию, пользователя, тег?

Автор romagromov

Ответов: 3
Просмотров: 123
Последний ответ 14.03.2021, 22:14:34
от IToro82
Ручная активация регистрации пользователя.

Автор Briz1

Ответов: 6
Просмотров: 1309
Последний ответ 05.11.2020, 20:22:10
от Grigoriy82
Как выслать повторно письмо с активацией пользователя?

Автор baf28

Ответов: 6
Просмотров: 1122
Последний ответ 05.11.2020, 20:15:38
от Grigoriy82
Автоматическая регистрация/авторизация пользователя

Автор Шмайсер

Ответов: 5
Просмотров: 314
Последний ответ 06.09.2020, 12:20:18
от Шмайсер